[Home] [Help]
PACKAGE BODY: APPS.XLA_AE_SOURCES_PKG
Source
1 PACKAGE BODY xla_ae_sources_pkg AS
2 /* $Header: xlajescs.pkb 120.34 2011/01/12 04:24:05 vdamerla ship $ */
3 /*===========================================================================+
4 | Copyright (c) 2001-2002 Oracle Corporation |
5 | Redwood Shores, CA, USA |
6 | All rights reserved. |
7 +============================================================================+
8 | PACKAGE NAME |
9 | xla_ae_sources_pkg |
10 | |
11 | DESCRIPTION |
12 | |
13 | |
14 | HISTORY |
15 | 20-NOV-2002 K.Boussema Created |
16 | 13-MAR-2003 K.Boussema Made changes for the new bulk approach of the|
17 | accounting engine |
18 | 19-APR-2003 K.Boussema Included Error messages |
19 | 13-MAI-2003 K.Boussema Updated Code messages |
20 | 16-MAI-2003 K.Boussema Changed to accept value NULL for some system |
21 | sources. |
22 | 19-MAI-2003 K.Boussema Modified GetTranslatedLookupMeaning |
23 | GetUnTranslatedLookupMeaning |
24 | and get_flex_value_meaning |
25 | to fix BUG 2965699 |
26 | 30-MAI-2003 K.Boussema Reviewed get_flex_value_meaning, bug2975670 |
27 | 12-JUN-2003 K.Boussema Reviewed GetSystemSource fcts, bug 2990642 |
28 | 23-JUN-2003 K.Boussema Updated the call to get_period_name bug3005754|
29 | 30-JUN-2003 K.Boussema Changed XLA_PERIOD_TYPES by XLA_PERIOD_TYPE |
30 | 17-JUL-2003 K.Boussema Updated the call to accounting cache, 3055039|
31 | 21-JUL-2003 K.Boussema Changed the source name from |
32 | GL_COA_MAPPINGS_NAME to GL_COA_MAPPING_NAME |
33 | Updated to trap NO_DATA_FOUND exception |
34 | 24-JUL-2003 K.Boussema Updated the error messages |
35 | 29-JUL-2003 K.Boussema Included the retrieve of 'Legal entity name' |
36 | 04-AUG-2003 S.Singhania corrected a typo in the source code: |
37 | XLA_ACCOUNTING_METHOD_NAME |
38 | 01-SEP-2003 K.Boussema Removed XLA_LEGAL_ENTITY_NAME system source |
39 | Add the update of JE status if system source |
40 | invalid |
41 | 19-SEP-2003 K.Boussema Added new system source XLA_JE_CATEGORY_NAME |
42 | 15-DEC-2003 K.Boussema Removed get_flex_value_meaning function |
43 | 18-DEC-2003 K.Boussema Changed to fix bug 3042840,3307761,3268940 |
44 | 3310291 and 3320689 |
45 | 05-FEB-2004 K.Boussema Reviewed get_mapping_flexfield_char/number |
46 | 16-FEB-2004 K.Boussema Made changes for the FND_LOG. |
47 | 22-MAR-2004 K.Boussema Added a parameter p_module to the TRACE calls|
48 | and the procedure. |
49 | 11-MAY-2004 K.Boussema Removed the call to XLA trace routine from |
50 | trace() procedure |
51 | 17-May-2004 W.Shen change the view name from xla_acctg_sources_tl|
52 | to xla_acct_attributes_tl |
53 | 22-Sep-2004 S.Singhania Made minor changes for bulk performance: |
54 | - Changes to calls to build_message. |
55 | 17-Jan-2006 A.Wan 4731177 Do not error if no value found. |
56 +===========================================================================*/
57 --
58 --
59 --+==========================================================================+
60 --| |
61 --| Global variables |
62 --| |
63 --+==========================================================================+
64 ---
65 -- period type and name cache
66 --
67 g_period_name VARCHAR2(15);
68 g_period_type VARCHAR2(15);
69 g_period_ledger_id NUMBER;
70 g_period_date DATE;
71 --
72 --
73 -- Lookup meaning cache
74 --
75 g_meaning_lookup_type VARCHAR2(30);
76 g_meaning_lookup_code VARCHAR2(30);
77 g_meaning_lookup_language VARCHAR2(30);
78 g_meaning_view_appl_id NUMBER;
79 g_meaning_start_date DATE;
80 g_meaning_end_date DATE;
81 g_meaning_lookup VARCHAR2(80);
82 --
83 --=============================================================================
84 -- *********** Local Trace Routine **********
85 --=============================================================================
86
87 C_LEVEL_STATEMENT CONSTANT NUMBER := FND_LOG.LEVEL_STATEMENT;
88 C_LEVEL_PROCEDURE CONSTANT NUMBER := FND_LOG.LEVEL_PROCEDURE;
89 C_LEVEL_EVENT CONSTANT NUMBER := FND_LOG.LEVEL_EVENT;
90 C_LEVEL_EXCEPTION CONSTANT NUMBER := FND_LOG.LEVEL_EXCEPTION;
91 C_LEVEL_ERROR CONSTANT NUMBER := FND_LOG.LEVEL_ERROR;
92 C_LEVEL_UNEXPECTED CONSTANT NUMBER := FND_LOG.LEVEL_UNEXPECTED;
93
94 C_LEVEL_LOG_DISABLED CONSTANT NUMBER := 99;
95 C_DEFAULT_MODULE CONSTANT VARCHAR2(240) := 'xla.plsql.xla_ae_sources_pkg';
96
97 g_log_level NUMBER;
98 g_log_enabled BOOLEAN;
99
100 PROCEDURE trace
101 (p_msg IN VARCHAR2
102 ,p_level IN NUMBER
103 ,p_module IN VARCHAR2 DEFAULT C_DEFAULT_MODULE)
104 IS
105 BEGIN
106 ----------------------------------------------------------------------------
107 -- Following is for FND log.
108 ----------------------------------------------------------------------------
109 IF (p_msg IS NULL AND p_level >= g_log_level) THEN
110 fnd_log.message(p_level, p_module);
111 ELSIF p_level >= g_log_level THEN
112 fnd_log.string(p_level, p_module, p_msg);
113 END IF;
114
115 EXCEPTION
116 WHEN xla_exceptions_pkg.application_exception THEN
117 RAISE;
118 WHEN OTHERS THEN
119 xla_exceptions_pkg.raise_message
120 (p_location => 'xla_ae_sources_pkg.trace');
121 END trace;
122 --
123 --+==========================================================================+
124 --| |
125 --| OVERVIEW of private procedures and functions |
126 --| |
127 --+==========================================================================+
128 --
129 --
130 --+==========================================================================+
131 --| PUBLIC and Privates APIs to get the name in the language of teh session |
132 --| |
133 --| |
134 --| |
135 --| |
136 --| |
137 --| |
138 --| |
139 --| |
140 --| |
141 --| |
142 --| |
143 --| |
144 --| |
145 --+==========================================================================+
146 --
147 --+==========================================================================+
148 --| |
149 --| PUBLIC function |
150 --| |
151 --+==========================================================================+
152 --
153 FUNCTION GetApplicationName (p_application_id IN NUMBER)
154 RETURN VARCHAR2
155 IS
156 l_application_name VARCHAR2(240);
157 l_log_module VARCHAR2(240);
158 BEGIN
159 --
160 IF g_log_enabled THEN
161 l_log_module := C_DEFAULT_MODULE||'.GetApplicationName';
162 END IF;
163 --
164 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
165 trace
166 (p_msg => 'BEGIN of GetApplicationName'
167 ,p_level => C_LEVEL_PROCEDURE
168 ,p_module => l_log_module);
169
170 trace
171 (p_msg => 'p_application_id = '|| TO_CHAR(p_application_id)
172 ,p_level => C_LEVEL_PROCEDURE
173 ,p_module => l_log_module);
174
175 END IF;
176 --
177 IF p_application_id IS NOT NULL THEN
178
179 SELECT REPLACE(fat.application_name, '''','''''')
180 INTO l_application_name
181 FROM fnd_application_tl fat
182 WHERE fat.application_id = p_application_id
183 AND fat.language = nvl(USERENV('LANG'),fat.language)
184 ;
185 --
186 ELSE
187 l_application_name:= NULL;
188 END IF;
189
190 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
191
192 trace
193 (p_msg => 'return value. = '||l_application_name
194 ,p_level => C_LEVEL_PROCEDURE
195 ,p_module => l_log_module);
196
197 trace
198 (p_msg => 'END of GetApplicationName'
199 ,p_level => C_LEVEL_PROCEDURE
200 ,p_module => l_log_module);
201
202 END IF;
203 RETURN l_application_name;
204 EXCEPTION
205 WHEN OTHERS THEN
206 RETURN TO_CHAR(p_application_id);
207 END GetApplicationName;
208 --
209 /*======================================================================+
210 | |
211 | Public Function |
212 | GetSourceName |
213 | |
214 +======================================================================*/
215 FUNCTION GetSourceName(
216 p_source_code IN VARCHAR2
217 , p_source_type_code IN VARCHAR2
218 , p_source_application_id IN NUMBER
219 )
220 RETURN VARCHAR2
221 IS
222 l_source_name VARCHAR2(240);
223 l_log_module VARCHAR2(240);
224 BEGIN
225 --
226 IF g_log_enabled THEN
227 l_log_module := C_DEFAULT_MODULE||'.GetSourceName';
228 END IF;
229 --
230 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
231 trace
232 (p_msg => 'BEGIN of GetSourceName'
233 ,p_level => C_LEVEL_PROCEDURE
234 ,p_module => l_log_module);
235
236 trace
237 (p_msg => 'p_source_code = '|| p_source_code
238 ,p_level => C_LEVEL_PROCEDURE
239 ,p_module => l_log_module);
240
241 trace
242 (p_msg => 'p_source_type_code = '|| p_source_type_code
243 ,p_level => C_LEVEL_PROCEDURE
244 ,p_module => l_log_module);
245
246 trace
247 (p_msg => 'p_source_application_id = '|| TO_CHAR(p_source_application_id)
248 ,p_level => C_LEVEL_PROCEDURE
249 ,p_module => l_log_module);
250 END IF;
251 --
252 IF p_source_code IS NOT NULL THEN
253
254 SELECT REPLACE(xst.name, '''','''''')
255 INTO l_source_name
256 FROM xla_sources_tl xst
257 WHERE xst.application_id = p_source_application_id
258 AND xst.source_type_code = p_source_type_code
259 AND xst.source_code = p_source_code
260 AND xst.language = nvl(USERENV('LANG'),xst.language)
261 ;
262 ELSE
263 l_source_name := NULL;
264 END IF;
265
266 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
267
268 trace
269 (p_msg => 'return value. = '||l_source_name
270 ,p_level => C_LEVEL_PROCEDURE
271 ,p_module => l_log_module);
272
273 trace
274 (p_msg => 'END of GetSourceName'
275 ,p_level => C_LEVEL_PROCEDURE
276 ,p_module => l_log_module);
277
278 END IF;
279
280 RETURN l_source_name;
281 EXCEPTION
282 WHEN OTHERS THEN
283 RETURN p_source_code;
284 END GetSourceName;
285 --
286 --
287 --+==========================================================================+
288 --| |
289 --| PUBLIC function |
290 --| |
291 --+==========================================================================+
292 --
293 FUNCTION GetAccountingSourceName (p_accounting_source_code IN VARCHAR2)
294 RETURN VARCHAR2
295 IS
296 l_name VARCHAR2(160);
297 l_log_module VARCHAR2(240);
298 BEGIN
299 --
300 IF g_log_enabled THEN
301 l_log_module := C_DEFAULT_MODULE||'.GetAccountingSourceName';
302 END IF;
303 --
304 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
305 trace
306 (p_msg => 'BEGIN of GetAccountingSourceName'
307 ,p_level => C_LEVEL_PROCEDURE
308 ,p_module => l_log_module);
309
310 trace
311 (p_msg => 'p_accounting_source_code = '|| p_accounting_source_code
312 ,p_level => C_LEVEL_PROCEDURE
313 ,p_module => l_log_module);
314
315 END IF;
316 --
317 IF p_accounting_source_code IS NOT NULL THEN
318
319 SELECT REPLACE(xast.name ,'''','''''')
320 INTO l_name
321 FROM xla_acct_attributes_tl xast
322 WHERE xast.accounting_attribute_code = p_accounting_source_code
323 AND xast.language = nvl(USERENV('LANG') ,xast.language)
324 ;
325 --
326 ELSE
327 l_name := NULL;
328 END IF;
329
330 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
331
332 trace
333 (p_msg => 'return value. = '||l_name
334 ,p_level => C_LEVEL_PROCEDURE
335 ,p_module => l_log_module);
336
337 trace
338 (p_msg => 'END of GetAccountingSourceName'
339 ,p_level => C_LEVEL_PROCEDURE
340 ,p_module => l_log_module);
341
342 END IF;
343 RETURN l_name;
344
345 EXCEPTION
346 WHEN OTHERS THEN
347 RETURN p_accounting_source_code;
348 END GetAccountingSourceName;
349 --
350 --
351 --+==========================================================================+
352 --| |
353 --| PRIVATE function |
354 --| |
355 --+==========================================================================+
356 --
357 FUNCTION GetMappingSetName (
358 p_mapping_set_code IN VARCHAR2
359 , p_amb_context_code IN VARCHAR2
360 )
361 RETURN VARCHAR2
362 IS
363 l_mapping_set_name VARCHAR2(160);
364 l_log_module VARCHAR2(240);
365 BEGIN
366 --
367 IF g_log_enabled THEN
368 l_log_module := C_DEFAULT_MODULE||'.GetMappingSetName';
369 END IF;
370 --
371 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
372 trace
373 (p_msg => 'BEGIN of GetMappingSetName'
374 ,p_level => C_LEVEL_PROCEDURE
375 ,p_module => l_log_module);
376
377 trace
378 (p_msg => 'p_mapping_set_code = '|| p_mapping_set_code
379 ,p_level => C_LEVEL_PROCEDURE
380 ,p_module => l_log_module);
381
382 trace
383 (p_msg => 'p_amb_context_code = '|| p_amb_context_code
384 ,p_level => C_LEVEL_PROCEDURE
385 ,p_module => l_log_module);
386
387 END IF;
388 --
389 IF p_mapping_set_code IS NOT NULL THEN
390
391 SELECT REPLACE(xmst.name, '''','''''')
392 INTO l_mapping_set_name
393 FROM xla_mapping_sets_tl xmst
394 WHERE xmst.mapping_set_code = p_mapping_set_code
395 AND xmst.amb_context_code = nvl(p_amb_context_code,xmst.amb_context_code)
396 AND nvl(xmst.language,USERENV('LANG') ) = USERENV('LANG')
397 ;
398 --
399 ELSE
400 l_mapping_set_name := NULL;
401 END IF;
402
403 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
404
405 trace
406 (p_msg => 'return value. = '||l_mapping_set_name
407 ,p_level => C_LEVEL_PROCEDURE
408 ,p_module => l_log_module);
409
410 trace
411 (p_msg => 'END of GetMappingSetName'
412 ,p_level => C_LEVEL_PROCEDURE
413 ,p_module => l_log_module);
414
415 END IF;
416
417 RETURN l_mapping_set_name;
418 EXCEPTION
419 WHEN OTHERS THEN
420 RETURN p_mapping_set_code;
421 END GetMappingSetName;
422 --
423 --
424 --+==========================================================================+
425 --| |
426 --| Public function |
427 --| |
428 --+==========================================================================+
429 --
430 FUNCTION GetADRName (
431 p_component_code IN VARCHAR2
432 , p_component_type_code IN VARCHAR2
433 , p_component_appl_id IN INTEGER
434 , p_amb_context_code IN VARCHAR2
435 )
436 RETURN VARCHAR2
437 IS
438 l_name VARCHAR2(160);
439 l_log_module VARCHAR2(240);
440 BEGIN
441 --
442 IF g_log_enabled THEN
443 l_log_module := C_DEFAULT_MODULE||'.GetADRName';
444 END IF;
445 --
446 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
447
448 trace
449 (p_msg => 'BEGIN of GetADRName'
450 ,p_level => C_LEVEL_PROCEDURE
451 ,p_module => l_log_module);
452
453 trace
454 (p_msg => 'p_component_code = '|| p_component_code
455 ,p_level => C_LEVEL_PROCEDURE
456 ,p_module => l_log_module);
457
458 trace
459 (p_msg => 'p_component_type_code = '|| p_component_type_code
460 ,p_level => C_LEVEL_PROCEDURE
461 ,p_module => l_log_module);
462
463 trace
464 (p_msg => 'p_component_application_id = '|| TO_CHAR(p_component_appl_id)
465 ,p_level => C_LEVEL_PROCEDURE
466 ,p_module => l_log_module);
467
468 trace
469 (p_msg => 'p_amb_context_code = '|| p_amb_context_code
470 ,p_level => C_LEVEL_PROCEDURE
471 ,p_module => l_log_module);
472
473 END IF;
474
475 --
476 IF p_component_code IS NOT NULL THEN
477
478 SELECT REPLACE(xsrt.name, '''','''''')
479 INTO l_name
480 FROM xla_seg_rules_tl xsrt
481 WHERE xsrt.application_id = p_component_appl_id
482 AND xsrt.amb_context_code = p_amb_context_code
483 AND xsrt.segment_rule_code = p_component_code
484 AND xsrt.segment_rule_type_code = p_component_type_code
485 AND nvl(xsrt.language,USERENV('LANG') ) = USERENV('LANG')
486 ;
487 --
488 ELSE
489 l_name := NULL;
490 END IF;
491
492 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
493
494 trace
495 (p_msg => 'return value. = '||l_name
496 ,p_level => C_LEVEL_PROCEDURE
497 ,p_module => l_log_module);
498
499 trace
500 (p_msg => 'END of GetADRName'
501 ,p_level => C_LEVEL_PROCEDURE
502 ,p_module => l_log_module);
503
504 END IF;
505
506 RETURN l_name ;
507 EXCEPTION
508 WHEN OTHERS THEN
509 RETURN p_component_code;
510 END GetADRName;
511 --
512 --
513 --+==========================================================================+
514 --| |
515 --| Public function |
516 --| |
517 --+==========================================================================+
518 --
519 FUNCTION GetDescriptionName (
520 p_component_code IN VARCHAR2
521 , p_component_type_code IN VARCHAR2
522 , p_component_appl_id IN INTEGER
523 , p_amb_context_code IN VARCHAR2
524 )
525 RETURN VARCHAR2
526 IS
527 l_name VARCHAR2(160);
528 l_log_module VARCHAR2(240);
529 BEGIN
530 --
531 IF g_log_enabled THEN
532 l_log_module := C_DEFAULT_MODULE||'.GetDescriptionName';
533 END IF;
534 --
535 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
536 trace
537 (p_msg => 'BEGIN of GetDescriptionName'
538 ,p_level => C_LEVEL_PROCEDURE
539 ,p_module => l_log_module);
540 trace
541 (p_msg => 'p_component_code = '|| p_component_code
542 ,p_level => C_LEVEL_PROCEDURE
543 ,p_module => l_log_module);
544
545 trace
546 (p_msg => 'p_component_type_code = '|| p_component_type_code
547 ,p_level => C_LEVEL_PROCEDURE
548 ,p_module => l_log_module);
549
550 trace
551 (p_msg => 'p_component_application_id = '|| TO_CHAR(p_component_appl_id)
552 ,p_level => C_LEVEL_PROCEDURE
553 ,p_module => l_log_module);
554
555 trace
556 (p_msg => 'p_amb_context_code = '|| p_amb_context_code
557 ,p_level => C_LEVEL_PROCEDURE
558 ,p_module => l_log_module);
559
560 END IF;
561 --
562 --
563 IF p_component_code IS NOT NULL THEN
564
565 SELECT REPLACE(xdtl.name, '''','''''')
566 INTO l_name
567 FROM xla_descriptions_tl xdtl
568 WHERE xdtl.application_id = p_component_appl_id
569 AND xdtl.amb_context_code = p_amb_context_code
570 AND xdtl.description_code = p_component_code
571 AND xdtl.description_type_code = p_component_type_code
572 AND nvl(xdtl.language,USERENV('LANG') ) = USERENV('LANG')
573 ;
574 --
575 ELSE
576 l_name := NULL;
577 END IF;
578
579 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
580
581 trace
582 (p_msg => 'return value. = '||l_name
583 ,p_level => C_LEVEL_PROCEDURE
584 ,p_module => l_log_module);
585
586 trace
587 (p_msg => 'END of GetDescriptionName'
588 ,p_level => C_LEVEL_PROCEDURE
589 ,p_module => l_log_module);
590
591 END IF;
592 RETURN l_name ;
593 EXCEPTION
594 WHEN OTHERS THEN
595 RETURN p_component_code;
596 END GetDescriptionName;
597 --
598 --
599 --+==========================================================================+
600 --| |
601 --| Public function |
602 --| |
603 --+==========================================================================+
604 --
605 FUNCTION GetJLTName (
606 p_component_code IN VARCHAR2
607 , p_component_type_code IN VARCHAR2
608 , p_component_appl_id IN INTEGER
609 , p_amb_context_code IN VARCHAR2
610 , p_entity_code IN VARCHAR2
611 , p_event_class_code IN VARCHAR2
612 )
613 RETURN VARCHAR2
614 IS
615 l_name VARCHAR2(160);
616 l_log_module VARCHAR2(240);
617 BEGIN
618 --
619 IF g_log_enabled THEN
620 l_log_module := C_DEFAULT_MODULE||'.GetJLTName';
621 END IF;
622 --
623 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
624 trace
625 (p_msg => 'BEGIN of GetJLTName'
626 ,p_level => C_LEVEL_PROCEDURE
627 ,p_module => l_log_module);
628 trace
629 (p_msg => 'p_component_code = '|| p_component_code
630 ,p_level => C_LEVEL_PROCEDURE
631 ,p_module => l_log_module);
632
633 trace
634 (p_msg => 'p_component_type_code = '|| p_component_type_code
635 ,p_level => C_LEVEL_PROCEDURE
636 ,p_module => l_log_module);
637
638 trace
639 (p_msg => 'p_component_application_id = '|| TO_CHAR(p_component_appl_id)
640 ,p_level => C_LEVEL_PROCEDURE
641 ,p_module => l_log_module);
642
643 trace
644 (p_msg => 'p_amb_context_code = '|| p_amb_context_code
645 ,p_level => C_LEVEL_PROCEDURE
646 ,p_module => l_log_module);
647
648 trace
649 (p_msg => 'p_entity_code = '|| p_entity_code
650 ,p_level => C_LEVEL_PROCEDURE
651 ,p_module => l_log_module);
652
653 trace
654 (p_msg => 'p_event_class_code = '|| p_event_class_code
655 ,p_level => C_LEVEL_PROCEDURE
656 ,p_module => l_log_module);
657
658 END IF;
659 --
660 IF p_component_code IS NOT NULL THEN
661
662 SELECT REPLACE(xaltt.name, '''','''''')
663 INTO l_name
664 FROM xla_acct_line_types_tl xaltt
665 WHERE xaltt.application_id = p_component_appl_id
666 AND xaltt.amb_context_code = p_amb_context_code
667 AND xaltt.entity_code = p_entity_code
668 AND xaltt.event_class_code = p_event_class_code
669 AND xaltt.accounting_line_code = p_component_code
670 AND xaltt.accounting_line_type_code = p_component_type_code
671 AND nvl(xaltt.language,USERENV('LANG') ) = USERENV('LANG')
672 ;
673 --
674 ELSE
675 l_name := NULL;
676 END IF;
677
678 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
679
680 trace
681 (p_msg => 'return value. = '||l_name
682 ,p_level => C_LEVEL_PROCEDURE
683 ,p_module => l_log_module);
684
685 trace
686 (p_msg => 'END of GetJLTName'
687 ,p_level => C_LEVEL_PROCEDURE
688 ,p_module => l_log_module);
689
690 END IF;
691
692 RETURN l_name ;
693 EXCEPTION
694 WHEN OTHERS THEN
695 RETURN p_component_code;
696 END GetJLTName;
697 --
698 --
699 --+==========================================================================+
700 --| |
701 --| Public function |
702 --| |
703 --+==========================================================================+
704 --
705 FUNCTION GetComponentName (
706 p_component_type IN VARCHAR2
707 , p_component_code IN VARCHAR2
708 , p_component_type_code IN VARCHAR2
709 , p_component_appl_id IN INTEGER
710 , p_amb_context_code IN VARCHAR2
711 , p_entity_code IN VARCHAR2
712 , p_event_class_code IN VARCHAR2
713 )
714 RETURN VARCHAR2
715 IS
716 l_name VARCHAR2(80):=NULL;
717 l_log_module VARCHAR2(240);
718 BEGIN
719 --
720 IF g_log_enabled THEN
721 l_log_module := C_DEFAULT_MODULE||'.GetComponentName';
722 END IF;
723 --
724 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
725 trace
726 (p_msg => 'BEGIN of GetComponentName'
727 ,p_level => C_LEVEL_PROCEDURE
728 ,p_module => l_log_module);
729
730 END IF;
731 --
732 --
733 IF p_component_code IS NOT NULL THEN
734 --
735 CASE p_component_type
736 --
737 WHEN 'AMB_ADR' THEN
738 --
739 l_name:= GetADRName (
740 p_component_code
741 , p_component_type_code
742 , p_component_appl_id
743 , p_amb_context_code
744 );
745 --
746 WHEN 'AMB_JLT' THEN
747
748 l_name:= GetJLTName (
749 p_component_code
750 , p_component_type_code
751 , p_component_appl_id
752 , p_amb_context_code
753 , p_entity_code
754 , p_event_class_code
755 );
756
757
758 WHEN 'AMB_DESCRIPTION' THEN
759
760 l_name:= GetADRName (
761 p_component_code
762 , p_component_type_code
763 , p_component_appl_id
764 , p_amb_context_code
765 );
766 --
767 ELSE null;
768 END CASE;
769 --
770 END IF;
771
772 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
773
774 trace
775 (p_msg => 'END of GetComponentName'
776 ,p_level => C_LEVEL_PROCEDURE
777 ,p_module => l_log_module);
778
779 END IF;
780 RETURN l_name ;
781 EXCEPTION
782 WHEN OTHERS THEN
783 RETURN p_component_code;
784 END GetComponentName ;
785 --
786 --
787 /*======================================================================+
788 | |
789 | Public Function |
790 | GetSystemSourceNum |
791 | |
792 +======================================================================*/
793 FUNCTION GetSystemSourceNum(
794 p_source_code IN VARCHAR2
795 , p_source_type_code IN VARCHAR2
796 , p_source_application_id IN NUMBER
797 )
798 RETURN NUMBER
799 IS
800 l_system_value NUMBER;
801 l_log_module VARCHAR2(240);
802 BEGIN
803 --
804 IF g_log_enabled THEN
805 l_log_module := C_DEFAULT_MODULE||'.GetSystemSourceNum';
806 END IF;
807 --
808 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
809 trace
810 (p_msg => 'BEGIN of GetSystemSourceNum'
811 ,p_level => C_LEVEL_PROCEDURE
812 ,p_module => l_log_module);
813
814 trace
815 (p_msg => 'p_source_code = '|| p_source_code
816 ,p_level => C_LEVEL_PROCEDURE
817 ,p_module => l_log_module);
818
819 trace
820 (p_msg => 'p_source_type_code = '|| p_source_type_code
821 ,p_level => C_LEVEL_PROCEDURE
822 ,p_module => l_log_module);
823
824 trace
825 (p_msg => 'p_source_application_id = '|| TO_CHAR(p_source_application_id)
826 ,p_level => C_LEVEL_PROCEDURE
827 ,p_module => l_log_module);
828
829 trace
830 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueNum API'
831 ,p_level => C_LEVEL_PROCEDURE
832 ,p_module => l_log_module);
833
834 trace
835 (p_msg => 'END of GetSystemSourceNum'
836 ,p_level => C_LEVEL_PROCEDURE
837 ,p_module => l_log_module);
838 END IF;
839 --
840 CASE p_source_code
841
842 WHEN 'XLA_LEGAL_ENTITY_ID' THEN
843
844 RETURN xla_ae_journal_entry_pkg.g_cache_event.legal_entity_id;
845
846 WHEN 'XLA_REFERENCE_NUM_1' THEN
847
848 RETURN xla_ae_journal_entry_pkg.g_cache_event.reference_num_1;
849
850 WHEN 'XLA_REFERENCE_NUM_2' THEN
851
852 RETURN xla_ae_journal_entry_pkg.g_cache_event.reference_num_2;
853
854 WHEN 'XLA_REFERENCE_NUM_3' THEN
855
856 RETURN xla_ae_journal_entry_pkg.g_cache_event.reference_num_3;
857
858 WHEN 'XLA_REFERENCE_NUM_4' THEN
859
860 RETURN xla_ae_journal_entry_pkg.g_cache_event.reference_num_4;
861
862 WHEN 'LATEST_ENCUMBRANCE_YEAR' THEN
863
864 RETURN xla_accounting_cache_pkg.GetValueNum
865 (
866 p_source_code => p_source_code
867 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
868 );
869 WHEN 'SL_COA_MAPPING_ID' THEN
870
871 RETURN xla_accounting_cache_pkg.GetValueNum
872 (
873 p_source_code => p_source_code
874 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
875 );
876
877 WHEN 'SLA_LEDGER_ID' THEN
878
879 RETURN xla_accounting_cache_pkg.GetValueNum
880 (
881 p_source_code => p_source_code
882 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
883 );
884
885 WHEN 'XLA_COA_ID' THEN
886
887 RETURN xla_accounting_cache_pkg.GetValueNum
888 (
889 p_source_code => p_source_code
890 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
891 );
892
893 WHEN 'XLA_CURRENCY_PRECISION' THEN
894
895 RETURN xla_accounting_cache_pkg.GetValueNum
896 (
897 p_source_code => p_source_code
898 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
899 );
900
901 WHEN 'XLA_ENTERED_CUR_BAL_SUS_CCID' THEN
902
903 RETURN xla_accounting_cache_pkg.GetValueNum
904 (
905 p_source_code => p_source_code
906 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
907 );
908
909 WHEN 'XLA_ENTRY_CREATED_BY' THEN
910
911 RETURN xla_accounting_cache_pkg.GetValueNum
912 (
913 p_source_code => p_source_code
914 );
915
916 WHEN 'XLA_EVENT_APPL_ID' THEN
917
918 RETURN xla_accounting_cache_pkg.GetValueNum
919 (
920 p_source_code => p_source_code
921 );
922
923 WHEN 'XLA_LEDGER_CUR_BAL_SUS_CCID' THEN
924
925 RETURN xla_accounting_cache_pkg.GetValueNum
926 (
927 p_source_code => p_source_code
928 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
929 );
930 --
931 ELSE
932
933 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
934 xla_accounting_err_pkg.build_message
935 (p_appli_s_name => 'XLA'
936 ,p_msg_name => 'XLA_AP_INVALID_SYSTEM_SOURCE'
937 ,p_token_1 => 'SOURCE_NAME'
938 ,p_value_1 => GetSourceName(
939 p_source_code
940 , p_source_type_code
941 , p_source_application_id
942 )
943 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
944 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
945 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
946 );
947
948 IF (C_LEVEL_ERROR >= g_log_level) THEN
949 trace
950 (p_msg => 'ERROR: XLA_AP_INVALID_SYSTEM_SOURCE'
951 ,p_level => C_LEVEL_ERROR
952 ,p_module => l_log_module);
953 END IF;
954 RETURN NULL;
955
956 END CASE;
957 --
958 EXCEPTION
959 WHEN xla_exceptions_pkg.application_exception THEN
960 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
961 xla_accounting_err_pkg.build_message
962 (p_appli_s_name => 'XLA'
963 ,p_msg_name => 'XLA_AP_INVALID_SYSTEM_SOURCE'
964 ,p_token_1 => 'SOURCE_NAME'
965 ,p_value_1 =>GetSourceName(
966 p_source_code
967 , p_source_type_code
968 , p_source_application_id
969 )
970 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
971 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
972 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
973 );
974
975 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
976 trace
977 (p_msg => 'ERROR: XLA_AP_INVALID_SYSTEM_SOURCE'
978 ,p_level => C_LEVEL_EXCEPTION
979 ,p_module => l_log_module);
980 END IF;
981
982 RETURN NULL;
983 WHEN OTHERS THEN
984 xla_exceptions_pkg.raise_message
985 (p_location => 'xla_ae_sources_pkg.GetSystemSourceNum');
986 --
987 END GetSystemSourceNum;
988 --
989 /*======================================================================+
990 | |
991 | Public Function |
992 | |
993 | |
994 +======================================================================*/
995 FUNCTION GetSystemSourceDate(
996 p_source_code IN VARCHAR2
997 , p_source_type_code IN VARCHAR2
998 , p_source_application_id IN NUMBER
999 )
1000 RETURN DATE
1001 IS
1002 l_system_value DATE;
1003 l_log_module VARCHAR2(240);
1004 BEGIN
1005 --
1006 IF g_log_enabled THEN
1007 l_log_module := C_DEFAULT_MODULE||'.GetSystemSourceDate';
1008 END IF;
1009 --
1010 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1011 trace
1012 (p_msg => 'BEGIN of GetSystemSourceDate'
1013 ,p_level => C_LEVEL_PROCEDURE
1014 ,p_module => l_log_module);
1015
1016 trace
1017 (p_msg => 'p_source_code = '|| p_source_code
1018 ,p_level => C_LEVEL_PROCEDURE
1019 ,p_module => l_log_module);
1020
1021 trace
1022 (p_msg => 'p_source_type_code = '|| p_source_type_code
1023 ,p_level => C_LEVEL_PROCEDURE
1024 ,p_module => l_log_module);
1025
1026 trace
1027 (p_msg => 'p_source_application_id = '|| TO_CHAR(p_source_application_id)
1028 ,p_level => C_LEVEL_PROCEDURE
1029 ,p_module => l_log_module);
1030
1031 trace
1032 (p_msg => 'END of GetSystemSourceDate'
1033 ,p_level => C_LEVEL_PROCEDURE
1034 ,p_module => l_log_module);
1035 END IF;
1036 --
1037 CASE p_source_code
1038
1039 WHEN 'XLA_EVENT_DATE' THEN
1040
1041 RETURN xla_ae_journal_entry_pkg.g_cache_event.event_date;
1042
1043 WHEN 'XLA_TRANSACTION_DATE' THEN
1044
1045 RETURN xla_ae_journal_entry_pkg.g_cache_event.transaction_date;
1046
1047 WHEN 'XLA_REFERENCE_DATE_1' THEN
1048
1049 RETURN xla_ae_journal_entry_pkg.g_cache_event.reference_date_1;
1050
1051 WHEN 'XLA_REFERENCE_DATE_2' THEN
1052
1053 RETURN xla_ae_journal_entry_pkg.g_cache_event.reference_date_2;
1054
1055 WHEN 'XLA_REFERENCE_DATE_3' THEN
1056
1057 RETURN xla_ae_journal_entry_pkg.g_cache_event.reference_date_3;
1058
1059 WHEN 'XLA_REFERENCE_DATE_4' THEN
1060
1061 RETURN xla_ae_journal_entry_pkg.g_cache_event.reference_date_4;
1062
1063 WHEN 'XLA_CREATION_DATE' THEN
1064
1065 RETURN xla_accounting_cache_pkg.GetValueDate
1066 (
1067 p_source_code => p_source_code
1068 );
1069 ELSE
1070
1071 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1072 xla_accounting_err_pkg.build_message
1073 (p_appli_s_name => 'XLA'
1074 ,p_msg_name => 'XLA_AP_INVALID_SYSTEM_SOURCE'
1075 ,p_token_1 => 'SOURCE_NAME'
1076 ,p_value_1 => GetSourceName(
1077 p_source_code
1078 , p_source_type_code
1079 , p_source_application_id
1080 )
1081 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1082 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1083 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1084 );
1085
1086 IF (C_LEVEL_ERROR >= g_log_level) THEN
1087 trace
1088 (p_msg => 'ERROR: XLA_AP_INVALID_SYSTEM_SOURCE'
1089 ,p_level => C_LEVEL_ERROR
1090 ,p_module => l_log_module);
1091 END IF;
1092
1093 RETURN NULL;
1094
1095 END CASE;
1096
1097 EXCEPTION
1098 WHEN xla_exceptions_pkg.application_exception THEN
1099 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
1100 xla_accounting_err_pkg.build_message
1101 (p_appli_s_name => 'XLA'
1102 ,p_msg_name => 'XLA_AP_INVALID_SYSTEM_SOURCE'
1103 ,p_token_1 => 'SOURCE_NAME'
1104 ,p_value_1 => GetSourceName(
1105 p_source_code
1106 , p_source_type_code
1107 , p_source_application_id
1108 )
1109 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
1110 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
1111 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1112 );
1113
1114 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
1115 trace
1116 (p_msg => 'ERROR: XLA_AP_INVALID_SYSTEM_SOURCE'
1117 ,p_level => C_LEVEL_EXCEPTION
1118 ,p_module => l_log_module);
1119 END IF;
1120
1121 RETURN NULL;
1122 WHEN OTHERS THEN
1123 xla_exceptions_pkg.raise_message
1124 (p_location => 'xla_ae_sources_pkg.GetSystemSourceDate');
1125 --
1126 END GetSystemSourceDate;
1127 --
1128 /*======================================================================+
1129 | |
1130 | Public Function |
1131 | GetSystemSourceChar |
1132 | |
1133 +======================================================================*/
1134 FUNCTION GetSystemSourceChar(
1135 p_source_code IN VARCHAR2
1136 , p_source_type_code IN VARCHAR2
1137 , p_source_application_id IN NUMBER
1138 )
1139 RETURN VARCHAR2
1140 IS
1141 l_closing_status VARCHAR2(1);
1142 l_system_value VARCHAR2(4000);
1143 l_log_module VARCHAR2(240);
1144 BEGIN
1145 --
1146 IF g_log_enabled THEN
1147 l_log_module := C_DEFAULT_MODULE||'.GetSystemSourceChar';
1148 END IF;
1149 --
1150 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1151 trace
1152 (p_msg => 'BEGIN of GetSystemSourceChar'
1153 ,p_level => C_LEVEL_PROCEDURE
1154 ,p_module => l_log_module);
1155
1156 trace
1157 (p_msg => 'p_source_code = '|| p_source_code
1158 ,p_level => C_LEVEL_PROCEDURE
1159 ,p_module => l_log_module);
1160
1161 trace
1162 (p_msg => 'p_source_type_code = '|| p_source_type_code
1163 ,p_level => C_LEVEL_PROCEDURE
1164 ,p_module => l_log_module);
1165
1166 trace
1167 (p_msg => 'p_source_application_id = '|| TO_CHAR(p_source_application_id)
1168 ,p_level => C_LEVEL_PROCEDURE
1169 ,p_module => l_log_module);
1170
1171 END IF;
1172 --
1173 CASE p_source_code
1174
1175 WHEN 'XLA_JE_CATEGORY_NAME' THEN
1176
1177 l_system_value := xla_accounting_cache_pkg.get_je_category(
1178 p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.base_ledger_id
1179 ,p_event_class_code => xla_ae_journal_entry_pkg.g_cache_event.event_class
1180 );
1181
1182 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1183
1184 trace
1185 (p_msg => '-> CALL xla_accounting_cache_pkg.get_je_category API'
1186 ,p_level => C_LEVEL_PROCEDURE
1187 ,p_module => l_log_module);
1188
1189 trace
1190 (p_msg => 'return value. = '||l_system_value
1191 ,p_level => C_LEVEL_PROCEDURE
1192 ,p_module => l_log_module);
1193
1194 trace
1195 (p_msg => 'END of GetSystemSourceChar'
1196 ,p_level => C_LEVEL_PROCEDURE
1197 ,p_module => l_log_module);
1198 END IF;
1199 RETURN l_system_value ;
1200
1201 WHEN 'ALLOW_INTERCOMPANY_POST_FLAG' THEN
1202
1203 l_system_value := xla_accounting_cache_pkg.GetValueChar
1204 (
1205 p_source_code => p_source_code
1206 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1207 );
1208
1209 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1210
1211 trace
1212 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1213 ,p_level => C_LEVEL_PROCEDURE
1214 ,p_module => l_log_module);
1215
1216 trace
1217 (p_msg => 'return value. = '||l_system_value
1218 ,p_level => C_LEVEL_PROCEDURE
1219 ,p_module => l_log_module);
1220
1221 trace
1222 (p_msg => 'END of GetSystemSourceChar'
1223 ,p_level => C_LEVEL_PROCEDURE
1224 ,p_module => l_log_module);
1225 END IF;
1226 RETURN l_system_value ;
1227
1228 WHEN 'EFFECTIVE_DATE_RULE_CODE' THEN
1229
1230 l_system_value := xla_accounting_cache_pkg.GetValueChar
1231 (
1232 p_source_code => p_source_code
1233 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1234 );
1235
1236 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1237
1238 trace
1239 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1240 ,p_level => C_LEVEL_PROCEDURE
1241 ,p_module => l_log_module);
1242
1243 trace
1244 (p_msg => 'return value. = '||l_system_value
1245 ,p_level => C_LEVEL_PROCEDURE
1246 ,p_module => l_log_module);
1247
1248 trace
1249 (p_msg => 'END of GetSystemSourceChar'
1250 ,p_level => C_LEVEL_PROCEDURE
1251 ,p_module => l_log_module);
1252 END IF;
1253 RETURN l_system_value ;
1254
1255 WHEN 'BAL_SEG_COLUMN_NAME ' THEN
1256
1257 l_system_value := xla_accounting_cache_pkg.GetValueChar
1258 (
1259 p_source_code => p_source_code
1260 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1261 );
1262
1263 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1264
1265 trace
1266 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1267 ,p_level => C_LEVEL_PROCEDURE
1268 ,p_module => l_log_module);
1269
1270 trace
1271 (p_msg => 'return value. = '||l_system_value
1272 ,p_level => C_LEVEL_PROCEDURE
1273 ,p_module => l_log_module);
1274
1275 trace
1276 (p_msg => 'END of GetSystemSourceChar'
1277 ,p_level => C_LEVEL_PROCEDURE
1278 ,p_module => l_log_module);
1279 END IF;
1280 RETURN l_system_value ;
1281
1282 WHEN 'BAL_SEG_VALUE_OPTION_CODE' THEN
1283
1284 l_system_value := xla_accounting_cache_pkg.GetValueChar
1285 (
1286 p_source_code => p_source_code
1287 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1288 );
1289
1290 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1291
1292 trace
1293 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1294 ,p_level => C_LEVEL_PROCEDURE
1295 ,p_module => l_log_module);
1296
1297 trace
1298 (p_msg => 'return value. = '||l_system_value
1299 ,p_level => C_LEVEL_PROCEDURE
1300 ,p_module => l_log_module);
1301
1302 trace
1303 (p_msg => 'END of GetSystemSourceChar'
1304 ,p_level => C_LEVEL_PROCEDURE
1305 ,p_module => l_log_module);
1306 END IF;
1307 RETURN l_system_value ;
1308
1309 WHEN 'CONTROL_ACCOUNT_ENABLED_FLAG' THEN
1310
1311 l_system_value := xla_accounting_cache_pkg.GetValueChar
1312 (
1313 p_source_code => p_source_code
1314 );
1315
1316 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1317
1318 trace
1319 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1320 ,p_level => C_LEVEL_PROCEDURE
1321 ,p_module => l_log_module);
1322
1323 trace
1324 (p_msg => 'return value. = '||l_system_value
1325 ,p_level => C_LEVEL_PROCEDURE
1326 ,p_module => l_log_module);
1327
1328 trace
1329 (p_msg => 'END of GetSystemSourceChar'
1330 ,p_level => C_LEVEL_PROCEDURE
1331 ,p_module => l_log_module);
1332 END IF;
1333 RETURN l_system_value ;
1334
1335 WHEN 'GL_COA_MAPPING_NAME' THEN
1336
1337 l_system_value := xla_accounting_cache_pkg.GetValueChar
1338 (
1339 p_source_code => p_source_code
1340 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1341 );
1342
1343 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1344
1345 trace
1346 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1347 ,p_level => C_LEVEL_PROCEDURE
1348 ,p_module => l_log_module);
1349
1350 trace
1351 (p_msg => 'return value. = '||l_system_value
1352 ,p_level => C_LEVEL_PROCEDURE
1353 ,p_module => l_log_module);
1354
1355 trace
1356 (p_msg => 'END of GetSystemSourceChar'
1357 ,p_level => C_LEVEL_PROCEDURE
1358 ,p_module => l_log_module);
1359 END IF;
1360 RETURN l_system_value ;
1361
1362 WHEN 'LEDGER_CATEGORY_CODE' THEN
1363
1364 l_system_value := xla_accounting_cache_pkg.GetValueChar
1365 (
1366 p_source_code => p_source_code
1367 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1368 );
1369
1370 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1371
1372 trace
1373 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1374 ,p_level => C_LEVEL_PROCEDURE
1375 ,p_module => l_log_module);
1376
1377 trace
1378 (p_msg => 'return value. = '||l_system_value
1379 ,p_level => C_LEVEL_PROCEDURE
1380 ,p_module => l_log_module);
1381
1382 trace
1383 (p_msg => 'END of GetSystemSourceChar'
1384 ,p_level => C_LEVEL_PROCEDURE
1385 ,p_module => l_log_module);
1386 END IF;
1387 RETURN l_system_value ;
1388
1389 WHEN 'MGT_SEG_COLUMN_NAME' THEN
1390
1391 l_system_value := xla_accounting_cache_pkg.GetValueChar
1392 (
1393 p_source_code => p_source_code
1394 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1395 );
1396
1397 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1398
1399 trace
1400 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1401 ,p_level => C_LEVEL_PROCEDURE
1402 ,p_module => l_log_module);
1403
1404 trace
1405 (p_msg => 'return value. = '||l_system_value
1406 ,p_level => C_LEVEL_PROCEDURE
1407 ,p_module => l_log_module);
1408
1409 trace
1410 (p_msg => 'END of GetSystemSourceChar'
1411 ,p_level => C_LEVEL_PROCEDURE
1412 ,p_module => l_log_module);
1413 END IF;
1414 RETURN l_system_value ;
1415
1416 WHEN 'MGT_SEG_VALUE_OPTION_CODE' THEN
1417
1418 l_system_value := xla_accounting_cache_pkg.GetValueChar
1419 (
1420 p_source_code => p_source_code
1421 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1422 );
1423
1424 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1425
1426 trace
1427 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1428 ,p_level => C_LEVEL_PROCEDURE
1429 ,p_module => l_log_module);
1430
1431 trace
1432 (p_msg => 'return value. = '||l_system_value
1433 ,p_level => C_LEVEL_PROCEDURE
1434 ,p_module => l_log_module);
1435
1436 trace
1437 (p_msg => 'END of GetSystemSourceChar'
1438 ,p_level => C_LEVEL_PROCEDURE
1439 ,p_module => l_log_module);
1440 END IF;
1441 RETURN l_system_value ;
1442
1443 WHEN 'SLA_BAL_BY_LEDGER_CURR_FLAG' THEN
1444
1445 l_system_value := xla_accounting_cache_pkg.GetValueChar
1446 (
1447 p_source_code => p_source_code
1448 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1449 );
1450
1451 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1452
1453 trace
1454 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1455 ,p_level => C_LEVEL_PROCEDURE
1456 ,p_module => l_log_module);
1457
1458 trace
1459 (p_msg => 'return value. = '||l_system_value
1460 ,p_level => C_LEVEL_PROCEDURE
1461 ,p_module => l_log_module);
1462
1463 trace
1464 (p_msg => 'END of GetSystemSourceChar'
1465 ,p_level => C_LEVEL_PROCEDURE
1466 ,p_module => l_log_module);
1467 END IF;
1468 RETURN l_system_value ;
1469
1470 WHEN 'VALUATION_METHOD_FLAG' THEN
1471
1472 l_system_value := xla_accounting_cache_pkg.GetValueChar
1473 (
1474 p_source_code => p_source_code
1475 );
1476
1477 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1478
1479 trace
1480 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1481 ,p_level => C_LEVEL_PROCEDURE
1482 ,p_module => l_log_module);
1483
1484 trace
1485 (p_msg => 'return value. = '||l_system_value
1486 ,p_level => C_LEVEL_PROCEDURE
1487 ,p_module => l_log_module);
1488
1489 trace
1490 (p_msg => 'END of GetSystemSourceChar'
1491 ,p_level => C_LEVEL_PROCEDURE
1492 ,p_module => l_log_module);
1493 END IF;
1494 RETURN l_system_value ;
1495
1496 WHEN 'XLA_ACCOUNTING_METHOD_NAME' THEN
1497
1498 l_system_value := xla_accounting_cache_pkg.GetValueChar
1499 (
1500 p_source_code => p_source_code
1501 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1502 );
1503
1504 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1505
1506 trace
1507 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1508 ,p_level => C_LEVEL_PROCEDURE
1509 ,p_module => l_log_module);
1510
1511 trace
1512 (p_msg => 'return value. = '||l_system_value
1513 ,p_level => C_LEVEL_PROCEDURE
1514 ,p_module => l_log_module);
1515
1516 trace
1517 (p_msg => 'END of GetSystemSourceChar'
1518 ,p_level => C_LEVEL_PROCEDURE
1519 ,p_module => l_log_module);
1520 END IF;
1521 RETURN l_system_value ;
1522
1523 WHEN 'XLA_ACCOUNTING_METHOD_OWNER' THEN
1524
1525 l_system_value := xla_accounting_cache_pkg.GetValueChar
1526 (
1527 p_source_code => p_source_code
1528 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1529 );
1530
1531 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1532
1533 trace
1534 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1535 ,p_level => C_LEVEL_PROCEDURE
1536 ,p_module => l_log_module);
1537
1538 trace
1539 (p_msg => 'return value. = '||l_system_value
1540 ,p_level => C_LEVEL_PROCEDURE
1541 ,p_module => l_log_module);
1542
1543 trace
1544 (p_msg => 'END of GetSystemSourceChar'
1545 ,p_level => C_LEVEL_PROCEDURE
1546 ,p_module => l_log_module);
1547 END IF;
1548 RETURN l_system_value ;
1549
1550 WHEN 'XLA_ACCT_REVERSAL_OPTION' THEN
1551
1552 l_system_value := xla_accounting_cache_pkg.GetValueChar
1553 (
1554 p_source_code => p_source_code
1555 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1556 );
1557
1558 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1559
1560 trace
1561 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1562 ,p_level => C_LEVEL_PROCEDURE
1563 ,p_module => l_log_module);
1564
1565 trace
1566 (p_msg => 'return value. = '||l_system_value
1567 ,p_level => C_LEVEL_PROCEDURE
1568 ,p_module => l_log_module);
1569
1570 trace
1571 (p_msg => 'END of GetSystemSourceChar'
1572 ,p_level => C_LEVEL_PROCEDURE
1573 ,p_module => l_log_module);
1574 END IF;
1575 RETURN l_system_value ;
1576
1577 WHEN 'XLA_COA_NAME' THEN
1578
1579 l_system_value := xla_accounting_cache_pkg.GetValueChar
1580 (
1581 p_source_code => p_source_code
1582 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1583 );
1584
1585 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1586
1587 trace
1588 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1589 ,p_level => C_LEVEL_PROCEDURE
1590 ,p_module => l_log_module);
1591
1592 trace
1593 (p_msg => 'return value. = '||l_system_value
1594 ,p_level => C_LEVEL_PROCEDURE
1595 ,p_module => l_log_module);
1596
1597 trace
1598 (p_msg => 'END of GetSystemSourceChar'
1599 ,p_level => C_LEVEL_PROCEDURE
1600 ,p_module => l_log_module);
1601 END IF;
1602 RETURN l_system_value ;
1603
1604 WHEN 'XLA_CURRENCY_CODE' THEN
1605
1606 l_system_value := xla_accounting_cache_pkg.GetValueChar
1607 (
1608 p_source_code => p_source_code
1609 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1610 );
1611
1612 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1613
1614 trace
1615 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1616 ,p_level => C_LEVEL_PROCEDURE
1617 ,p_module => l_log_module);
1618
1619 trace
1620 (p_msg => 'return value. = '||l_system_value
1621 ,p_level => C_LEVEL_PROCEDURE
1622 ,p_module => l_log_module);
1623
1624 trace
1625 (p_msg => 'END of GetSystemSourceChar'
1626 ,p_level => C_LEVEL_PROCEDURE
1627 ,p_module => l_log_module);
1628 END IF;
1629 RETURN l_system_value ;
1630
1631 WHEN 'XLA_DESCRIPTION_LANGUAGE' THEN
1632
1633 l_system_value := xla_accounting_cache_pkg.GetValueChar
1634 (
1635 p_source_code => p_source_code
1636 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1637 );
1638
1639 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1640
1641 trace
1642 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1643 ,p_level => C_LEVEL_PROCEDURE
1644 ,p_module => l_log_module);
1645
1646 trace
1647 (p_msg => 'return value. = '||l_system_value
1648 ,p_level => C_LEVEL_PROCEDURE
1649 ,p_module => l_log_module);
1650
1651 trace
1652 (p_msg => 'END of GetSystemSourceChar'
1653 ,p_level => C_LEVEL_PROCEDURE
1654 ,p_module => l_log_module);
1655 END IF;
1656 RETURN l_system_value ;
1657
1658 WHEN 'XLA_ENTITY_CODE' THEN
1659
1660 l_system_value := xla_ae_journal_entry_pkg.g_cache_event.entity_code;
1661
1662 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1663
1664 trace
1665 (p_msg => 'return value. = '||l_system_value
1666 ,p_level => C_LEVEL_PROCEDURE
1667 ,p_module => l_log_module);
1668
1669 trace
1670 (p_msg => 'END of GetSystemSourceChar'
1671 ,p_level => C_LEVEL_PROCEDURE
1672 ,p_module => l_log_module);
1673 END IF;
1674 RETURN l_system_value ;
1675
1676 WHEN 'XLA_EVENT_APPL_NAME' THEN
1677
1678 l_system_value := xla_accounting_cache_pkg.GetValueChar
1679 (
1680 p_source_code => p_source_code
1681 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1682 );
1683
1684 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1685
1686 trace
1687 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1688 ,p_level => C_LEVEL_PROCEDURE
1689 ,p_module => l_log_module);
1690
1691 trace
1692 (p_msg => 'return value. = '||l_system_value
1693 ,p_level => C_LEVEL_PROCEDURE
1694 ,p_module => l_log_module);
1695
1696 trace
1697 (p_msg => 'END of GetSystemSourceChar'
1698 ,p_level => C_LEVEL_PROCEDURE
1699 ,p_module => l_log_module);
1700 END IF;
1701 RETURN l_system_value ;
1702
1703 WHEN 'XLA_EVENT_APPL_SHORT_NAME' THEN
1704
1705 l_system_value := xla_accounting_cache_pkg.GetValueChar
1706 (
1707 p_source_code => p_source_code
1708 );
1709
1710 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1711
1712 trace
1713 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1714 ,p_level => C_LEVEL_PROCEDURE
1715 ,p_module => l_log_module);
1716
1717 trace
1718 (p_msg => 'return value. = '||l_system_value
1719 ,p_level => C_LEVEL_PROCEDURE
1720 ,p_module => l_log_module);
1721
1722 trace
1723 (p_msg => 'END of GetSystemSourceChar'
1724 ,p_level => C_LEVEL_PROCEDURE
1725 ,p_module => l_log_module);
1726 END IF;
1727 RETURN l_system_value ;
1728
1729 WHEN 'XLA_EVENT_CLASS_CODE' THEN
1730
1731 l_system_value := xla_ae_journal_entry_pkg.g_cache_event.event_class;
1732
1733 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1734
1735 trace
1736 (p_msg => 'return value. = '||l_system_value
1737 ,p_level => C_LEVEL_PROCEDURE
1738 ,p_module => l_log_module);
1739
1740 trace
1741 (p_msg => 'END of GetSystemSourceChar'
1742 ,p_level => C_LEVEL_PROCEDURE
1743 ,p_module => l_log_module);
1744 END IF;
1745 RETURN l_system_value ;
1746
1747 WHEN 'XLA_EVENT_CLASS_NAME' THEN
1748
1749 l_system_value :=xla_ae_journal_entry_pkg.g_cache_event_tl.event_class_name;
1750 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1751
1752 trace
1753 (p_msg => 'return value. = '||l_system_value
1754 ,p_level => C_LEVEL_PROCEDURE
1755 ,p_module => l_log_module);
1756
1757 trace
1758 (p_msg => 'END of GetSystemSourceChar'
1759 ,p_level => C_LEVEL_PROCEDURE
1760 ,p_module => l_log_module);
1761 END IF;
1762 RETURN l_system_value ;
1763
1764
1765 WHEN 'XLA_EVENT_CREATED_BY' THEN
1766
1767 l_system_value := xla_ae_journal_entry_pkg.g_cache_event.event_created_by;
1768 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1769
1770 trace
1771 (p_msg => 'return value. = '||l_system_value
1772 ,p_level => C_LEVEL_PROCEDURE
1773 ,p_module => l_log_module);
1774
1775 trace
1776 (p_msg => 'END of GetSystemSourceChar'
1777 ,p_level => C_LEVEL_PROCEDURE
1778 ,p_module => l_log_module);
1779 END IF;
1780 RETURN l_system_value ;
1781
1782 WHEN 'XLA_EVENT_TYPE_CODE' THEN
1783
1784 l_system_value := xla_ae_journal_entry_pkg.g_cache_event.event_type;
1785 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1786
1787 trace
1788 (p_msg => 'return value. = '||l_system_value
1789 ,p_level => C_LEVEL_PROCEDURE
1790 ,p_module => l_log_module);
1791
1792 trace
1793 (p_msg => 'END of GetSystemSourceChar'
1794 ,p_level => C_LEVEL_PROCEDURE
1795 ,p_module => l_log_module);
1796 END IF;
1797 RETURN l_system_value ;
1798 --
1799 WHEN 'XLA_EVENT_TYPE_NAME' THEN
1800
1801 l_system_value := xla_ae_journal_entry_pkg.g_cache_event_tl.event_type_name;
1802 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1803
1804 trace
1805 (p_msg => 'return value. = '||l_system_value
1806 ,p_level => C_LEVEL_PROCEDURE
1807 ,p_module => l_log_module);
1808
1809 trace
1810 (p_msg => 'END of GetSystemSourceChar'
1811 ,p_level => C_LEVEL_PROCEDURE
1812 ,p_module => l_log_module);
1813 END IF;
1814 RETURN l_system_value ;
1815
1816 WHEN 'XLA_JE_SOURCE_NAME' THEN
1817
1818 l_system_value := xla_accounting_cache_pkg.GetValueChar
1819 (
1820 p_source_code => p_source_code
1821 );
1822
1823 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1824
1825 trace
1826 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1827 ,p_level => C_LEVEL_PROCEDURE
1828 ,p_module => l_log_module);
1829
1830 trace
1831 (p_msg => 'return value. = '||l_system_value
1832 ,p_level => C_LEVEL_PROCEDURE
1833 ,p_module => l_log_module);
1834
1835 trace
1836 (p_msg => 'END of GetSystemSourceChar'
1837 ,p_level => C_LEVEL_PROCEDURE
1838 ,p_module => l_log_module);
1839 END IF;
1840 RETURN l_system_value ;
1841
1842 WHEN 'XLA_LEDGER_NAME' THEN
1843
1844 l_system_value := xla_accounting_cache_pkg.GetValueChar
1845 (
1846 p_source_code => p_source_code
1847 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1848 );
1849
1850 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1851
1852 trace
1853 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1854 ,p_level => C_LEVEL_PROCEDURE
1855 ,p_module => l_log_module);
1856
1857 trace
1858 (p_msg => 'return value. = '||l_system_value
1859 ,p_level => C_LEVEL_PROCEDURE
1860 ,p_module => l_log_module);
1861
1862 trace
1863 (p_msg => 'END of GetSystemSourceChar'
1864 ,p_level => C_LEVEL_PROCEDURE
1865 ,p_module => l_log_module);
1866 END IF;
1867 RETURN l_system_value ;
1868
1869 WHEN 'XLA_NLS_DESC_LANGUAGE' THEN
1870
1871 l_system_value := xla_accounting_cache_pkg.GetValueChar
1872 (
1873 p_source_code => p_source_code
1874 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
1875 );
1876
1877 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1878
1879 trace
1880 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
1881 ,p_level => C_LEVEL_PROCEDURE
1882 ,p_module => l_log_module);
1883
1884 trace
1885 (p_msg => 'return value. = '||l_system_value
1886 ,p_level => C_LEVEL_PROCEDURE
1887 ,p_module => l_log_module);
1888
1889 trace
1890 (p_msg => 'END of GetSystemSourceChar'
1891 ,p_level => C_LEVEL_PROCEDURE
1892 ,p_module => l_log_module);
1893 END IF;
1894 RETURN l_system_value ;
1895
1896 WHEN 'XLA_PAD_CODE' THEN
1897
1898 l_system_value := xla_ae_journal_entry_pkg.g_cache_pad.product_rule_code;
1899
1900 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1901
1902 trace
1903 (p_msg => 'return value. = '||l_system_value
1904 ,p_level => C_LEVEL_PROCEDURE
1905 ,p_module => l_log_module);
1906
1907 trace
1908 (p_msg => 'END of GetSystemSourceChar'
1909 ,p_level => C_LEVEL_PROCEDURE
1910 ,p_module => l_log_module);
1911 END IF;
1912 RETURN l_system_value ;
1913
1914 WHEN 'XLA_PAD_COMPILE_STATUS' THEN
1915
1916 l_system_value := xla_ae_journal_entry_pkg.g_cache_pad.pad_compile_status;
1917
1918 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1919
1920 trace
1921 (p_msg => 'return value. = '||l_system_value
1922 ,p_level => C_LEVEL_PROCEDURE
1923 ,p_module => l_log_module);
1924
1925 trace
1926 (p_msg => 'END of GetSystemSourceChar'
1927 ,p_level => C_LEVEL_PROCEDURE
1928 ,p_module => l_log_module);
1929 END IF;
1930 RETURN l_system_value ;
1931
1932
1933 WHEN 'XLA_PAD_NAME' THEN
1934
1935 l_system_value :=xla_ae_journal_entry_pkg.g_cache_pad.product_rule_name;
1936 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1937
1938 trace
1939 (p_msg => 'return value. = '||l_system_value
1940 ,p_level => C_LEVEL_PROCEDURE
1941 ,p_module => l_log_module);
1942
1943 trace
1944 (p_msg => 'END of GetSystemSourceChar'
1945 ,p_level => C_LEVEL_PROCEDURE
1946 ,p_module => l_log_module);
1947 END IF;
1948 RETURN l_system_value ;
1949
1950
1951 WHEN 'XLA_PAD_OWNER' THEN
1952
1953 l_system_value := xla_ae_journal_entry_pkg.g_cache_pad.product_rule_type_code;
1954 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1955
1956 trace
1957 (p_msg => 'return value. = '||l_system_value
1958 ,p_level => C_LEVEL_PROCEDURE
1959 ,p_module => l_log_module);
1960
1961 trace
1962 (p_msg => 'END of GetSystemSourceChar'
1963 ,p_level => C_LEVEL_PROCEDURE
1964 ,p_module => l_log_module);
1965 END IF;
1966 RETURN l_system_value ;
1967
1968 WHEN 'XLA_PAD_PACKAGE_NAME' THEN
1969
1970 l_system_value := xla_ae_journal_entry_pkg.g_cache_pad.pad_package_name;
1971 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1972
1973 trace
1974 (p_msg => 'return value. = '||l_system_value
1975 ,p_level => C_LEVEL_PROCEDURE
1976 ,p_module => l_log_module);
1977
1978 trace
1979 (p_msg => 'END of GetSystemSourceChar'
1980 ,p_level => C_LEVEL_PROCEDURE
1981 ,p_module => l_log_module);
1982 END IF;
1983 RETURN l_system_value ;
1984
1985 WHEN 'XLA_PAD_VERSION' THEN
1986
1987 l_system_value := xla_ae_journal_entry_pkg.g_cache_pad.product_rule_version;
1988 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
1989
1990 trace
1991 (p_msg => 'return value. = '||l_system_value
1992 ,p_level => C_LEVEL_PROCEDURE
1993 ,p_module => l_log_module);
1994
1995 trace
1996 (p_msg => 'END of GetSystemSourceChar'
1997 ,p_level => C_LEVEL_PROCEDURE
1998 ,p_module => l_log_module);
1999 END IF;
2000 RETURN l_system_value ;
2001
2002
2003 WHEN 'XLA_PERIOD_NAME' THEN
2004 --
2005 IF g_period_ledger_id = xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id AND
2006 g_period_date = xla_ae_journal_entry_pkg.g_cache_event.event_date
2007 THEN
2008 NULL;
2009 ELSE
2010 g_period_name := xla_je_validation_pkg.get_period_name
2011 (p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2012 ,p_accounting_date => xla_ae_journal_entry_pkg.g_cache_event.event_date
2013 ,p_closing_status => l_closing_status
2014 ,p_period_type => g_period_type
2015 );
2016 --
2017 g_period_ledger_id := xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id;
2018 g_period_date := xla_ae_journal_entry_pkg.g_cache_event.event_date;
2019 END IF;
2020
2021 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2022
2023 trace
2024 (p_msg => '-> CALL xla_je_validation_pkg.get_period_name API'
2025 ,p_level => C_LEVEL_PROCEDURE
2026 ,p_module => l_log_module);
2027
2028 trace
2029 (p_msg => 'return value. = '||g_period_name
2030 ,p_level => C_LEVEL_PROCEDURE
2031 ,p_module => l_log_module);
2032
2033 trace
2034 (p_msg => 'END of GetSystemSourceChar'
2035 ,p_level => C_LEVEL_PROCEDURE
2036 ,p_module => l_log_module);
2037 END IF;
2038 RETURN g_period_name;
2039 --
2040 WHEN 'XLA_PERIOD_TYPE' THEN
2041 --
2042 --
2043 IF g_period_ledger_id = xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id AND
2044 g_period_date = xla_ae_journal_entry_pkg.g_cache_event.event_date
2045 THEN
2046 NULL;
2047 ELSE
2048 g_period_name := xla_je_validation_pkg.get_period_name
2049 (p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2050 ,p_accounting_date => xla_ae_journal_entry_pkg.g_cache_event.event_date
2051 ,p_closing_status => l_closing_status
2052 ,p_period_type => g_period_type
2053 );
2054 --
2055 g_period_ledger_id := xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id;
2056 g_period_date := xla_ae_journal_entry_pkg.g_cache_event.event_date;
2057 END IF;
2058 --
2059 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2060 trace
2061 (p_msg => '-> CALL xla_je_validation_pkg.get_period_name API'
2062 ,p_level => C_LEVEL_PROCEDURE
2063 ,p_module => l_log_module);
2064
2065 trace
2066 (p_msg => 'return value. = '||g_period_type
2067 ,p_level => C_LEVEL_PROCEDURE
2068 ,p_module => l_log_module);
2069
2070 trace
2071 (p_msg => 'END of GetSystemSourceChar'
2072 ,p_level => C_LEVEL_PROCEDURE
2073 ,p_module => l_log_module);
2074 END IF;
2075 RETURN g_period_type;
2076 --
2077
2078 WHEN 'XLA_REFERENCE_CHAR_1' THEN
2079
2080 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2081
2082 trace
2083 (p_msg => 'return value. = '||xla_ae_journal_entry_pkg.g_cache_event.reference_char_1
2084 ,p_level => C_LEVEL_PROCEDURE
2085 ,p_module => l_log_module);
2086
2087 trace
2088 (p_msg => 'END of GetSystemSourceChar'
2089 ,p_level => C_LEVEL_PROCEDURE
2090 ,p_module => l_log_module);
2091 END IF;
2092 RETURN xla_ae_journal_entry_pkg.g_cache_event.reference_char_1;
2093
2094 WHEN 'XLA_REFERENCE_CHAR_2' THEN
2095
2096 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2097
2098 trace
2099 (p_msg => 'return value. = '||xla_ae_journal_entry_pkg.g_cache_event.reference_char_2
2100 ,p_level => C_LEVEL_PROCEDURE
2101 ,p_module => l_log_module);
2102
2103 trace
2104 (p_msg => 'END of GetSystemSourceChar'
2105 ,p_level => C_LEVEL_PROCEDURE
2106 ,p_module => l_log_module);
2107 END IF;
2108 RETURN xla_ae_journal_entry_pkg.g_cache_event.reference_char_2;
2109
2110 WHEN 'XLA_REFERENCE_CHAR_3' THEN
2111
2112 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2113
2114 trace
2115 (p_msg => 'return value. = '||xla_ae_journal_entry_pkg.g_cache_event.reference_char_3
2116 ,p_level => C_LEVEL_PROCEDURE
2117 ,p_module => l_log_module);
2118
2119 trace
2120 (p_msg => 'END of GetSystemSourceChar'
2121 ,p_level => C_LEVEL_PROCEDURE
2122 ,p_module => l_log_module);
2123 END IF;
2124 RETURN xla_ae_journal_entry_pkg.g_cache_event.reference_char_3;
2125
2126 WHEN 'XLA_REFERENCE_CHAR_4' THEN
2127
2128 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2129
2130 trace
2131 (p_msg => 'return value. = '||xla_ae_journal_entry_pkg.g_cache_event.reference_char_4
2132 ,p_level => C_LEVEL_PROCEDURE
2133 ,p_module => l_log_module);
2134
2135 trace
2136 (p_msg => 'END of GetSystemSourceChar'
2137 ,p_level => C_LEVEL_PROCEDURE
2138 ,p_module => l_log_module);
2139 END IF;
2140 RETURN xla_ae_journal_entry_pkg.g_cache_event.reference_char_4;
2141
2142 WHEN 'XLA_USER_JE_SOURCE_NAME' THEN
2143
2144 l_system_value := xla_accounting_cache_pkg.GetValueChar
2145 (
2146 p_source_code => p_source_code
2147 , p_target_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2148 );
2149
2150 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2151
2152 trace
2153 (p_msg => '-> CALL xla_accounting_cache_pkg.GetValueChar API'
2154 ,p_level => C_LEVEL_PROCEDURE
2155 ,p_module => l_log_module);
2156
2157 trace
2158 (p_msg => 'return value. = '|| l_system_value
2159 ,p_level => C_LEVEL_PROCEDURE
2160 ,p_module => l_log_module);
2161
2162 trace
2163 (p_msg => 'END of GetSystemSourceChar'
2164 ,p_level => C_LEVEL_PROCEDURE
2165 ,p_module => l_log_module);
2166 END IF;
2167 RETURN l_system_value ;
2168 ELSE
2169
2170 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2171 xla_accounting_err_pkg.build_message
2172 (p_appli_s_name => 'XLA'
2173 ,p_msg_name => 'XLA_AP_INVALID_SYSTEM_SOURCE'
2174 ,p_token_1 => 'SOURCE_NAME'
2175 ,p_value_1 => GetSourceName(
2176 p_source_code
2177 , p_source_type_code
2178 , p_source_application_id
2179 )
2180 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2181 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2182 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2183 );
2184
2185 IF (C_LEVEL_ERROR >= g_log_level) THEN
2186 trace
2187 (p_msg => 'ERROR: XLA_AP_INVALID_SYSTEM_SOURCE'
2188 ,p_level => C_LEVEL_ERROR
2189 ,p_module => l_log_module);
2190 END IF;
2191 RETURN NULL;
2192
2193 END CASE;
2194 --
2195 EXCEPTION
2196 WHEN xla_exceptions_pkg.application_exception THEN
2197 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2198 xla_accounting_err_pkg.build_message
2199 (p_appli_s_name => 'XLA'
2200 ,p_msg_name => 'XLA_AP_INVALID_SYSTEM_SOURCE'
2201 ,p_token_1 => 'SOURCE_NAME'
2202 ,p_value_1 => GetSourceName(
2203 p_source_code
2204 , p_source_type_code
2205 , p_source_application_id
2206 )
2207 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2208 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2209 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2210 );
2211
2212 IF (C_LEVEL_EXCEPTION >= g_log_level) THEN
2213 trace
2214 (p_msg => 'ERROR: XLA_AP_INVALID_SYSTEM_SOURCE'
2215 ,p_level => C_LEVEL_EXCEPTION
2216 ,p_module => l_log_module);
2217 END IF;
2218
2219 RETURN NULL;
2220 WHEN OTHERS THEN
2221 xla_exceptions_pkg.raise_message
2222 (p_location => 'xla_ae_sources_pkg.GetSystemSourceChar');
2223 --
2224 END GetSystemSourceChar;
2225 --
2226 --
2227 --+==========================================================================+
2228 --| PUBLIC procedures and functions |
2229 --| |
2230 --| |
2231 --| GetTranslatedLookupMeaning |
2232 --| |
2233 --| GetUnTranslatedLookupMeaning |
2234 --| |
2235 --| |
2236 --| |
2237 --| |
2238 --| |
2239 --| |
2240 --| |
2241 --| |
2242 --| |
2243 --+==========================================================================+
2244 --
2245 /*======================================================================+
2246 | |
2247 | Public Function |
2248 | |
2249 | |
2250 +======================================================================*/
2251 FUNCTION GetLookupMeaning(
2252 p_lookup_code IN VARCHAR2
2253 , p_lookup_type IN VARCHAR2
2254 , p_view_application_id IN NUMBER
2255 , p_source_code IN VARCHAR2
2256 , p_source_type_code IN VARCHAR2
2257 , p_source_application_id IN INTEGER
2258 )
2259 RETURN VARCHAR2
2260
2261 IS
2262
2263 l_language VARCHAR2(30):=xla_ae_journal_entry_pkg.g_cache_ledgers_info.description_language;
2264 l_event_date DATE :=xla_ae_journal_entry_pkg.g_cache_event.event_date;
2265 l_log_module VARCHAR2(240);
2266
2267 BEGIN
2268 --
2269 IF g_log_enabled THEN
2270 l_log_module := C_DEFAULT_MODULE||'.GetLookupMeaning';
2271 END IF;
2272 --
2273 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2274
2275 trace
2276 (p_msg => 'BEGIN of GetLookupMeaning'
2277 ,p_level => C_LEVEL_PROCEDURE
2278 ,p_module => l_log_module);
2279
2280 trace
2281 (p_msg => 'p_lookup_code = '|| p_lookup_code
2282 ,p_level => C_LEVEL_PROCEDURE
2283 ,p_module => l_log_module);
2284
2285 trace
2286 (p_msg => 'p_lookup_type = '|| p_lookup_type
2287 ,p_level => C_LEVEL_PROCEDURE
2288 ,p_module => l_log_module);
2289
2290 trace
2291 (p_msg => 'p_view_application_id = '|| p_view_application_id
2292 ,p_level => C_LEVEL_PROCEDURE
2293 ,p_module => l_log_module);
2294
2295 END IF;
2296 --
2297 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
2298
2299 trace
2300 (p_msg => 'p_source_code = '|| p_source_code
2301 ,p_level => C_LEVEL_STATEMENT
2302 ,p_module => l_log_module);
2303
2304 trace
2305 (p_msg => 'p_source_type_code = '|| p_source_type_code
2306 ,p_level => C_LEVEL_STATEMENT
2307 ,p_module => l_log_module);
2308
2309 trace
2310 (p_msg => 'p_source_application_id = '|| p_source_application_id
2311 ,p_level => C_LEVEL_STATEMENT
2312 ,p_module => l_log_module);
2313
2314 END IF;
2315 --
2316
2317 IF g_meaning_lookup_type = p_lookup_type AND
2318 g_meaning_lookup_code = p_lookup_code AND
2319 g_meaning_lookup_language = NVL(l_language , USERENV('LANG')) AND
2320 g_meaning_view_appl_id = p_view_application_id AND
2321 l_event_date BETWEEN g_meaning_start_date AND g_meaning_end_date
2322 THEN
2323
2324 NULL;
2325
2326 ELSIF p_lookup_code IS NOT NULL AND p_lookup_type IS NOT NULL THEN
2327
2328 IF (C_LEVEL_STATEMENT >= g_log_level) THEN
2329 trace
2330 (p_msg => 'SQL - Select from fnd_lookup_values'
2331 ,p_level => C_LEVEL_STATEMENT
2332 ,p_module => l_log_module);
2333
2334 END IF;
2335
2336 SELECT meaning,
2337 start_date_active,
2338 end_date_active
2339 INTO g_meaning_lookup
2340 ,g_meaning_start_date
2341 ,g_meaning_end_date
2342 FROM fnd_lookup_values
2343 WHERE lookup_type = p_lookup_type
2344 AND lookup_code = p_lookup_code
2345 AND view_application_id = p_view_application_id
2346 AND language = NVL(l_language , USERENV('LANG'))
2347 AND enabled_flag = 'Y'
2348 AND l_event_date BETWEEN nvl(start_date_active,l_event_date) AND nvl (end_date_active, l_event_date)
2349 ;
2350
2351 g_meaning_lookup_type := p_lookup_type;
2352 g_meaning_lookup_code := p_lookup_code;
2353 g_meaning_lookup_language := NVL(l_language , USERENV('LANG'));
2354 g_meaning_view_appl_id := p_view_application_id;
2355
2356 ELSE
2357
2358 g_meaning_lookup:= NULL;
2359
2360 END IF;
2361
2362 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2363
2364 trace
2365 (p_msg => 'return value. = '|| g_meaning_lookup
2366 ,p_level => C_LEVEL_PROCEDURE
2367 ,p_module => l_log_module);
2368
2369 trace
2370 (p_msg => 'END of GetLookupMeaning'
2371 ,p_level => C_LEVEL_PROCEDURE
2372 ,p_module => l_log_module);
2373 END IF;
2374
2375 RETURN g_meaning_lookup;
2376
2377 EXCEPTION
2378 WHEN NO_DATA_FOUND OR TOO_MANY_ROWS THEN
2379
2380 xla_ae_journal_entry_pkg.g_global_status := xla_ae_journal_entry_pkg.C_INVALID;
2381 xla_accounting_err_pkg. build_message
2382 (p_appli_s_name => 'XLA'
2383 ,p_msg_name => 'XLA_AP_NO_LOOKUP_MEANING'
2384 ,p_token_1 => 'SOURCE_NAME'
2385 ,p_value_1 => GetSourceName(
2386 p_source_code
2387 , p_source_type_code
2388 , p_source_application_id
2389 )
2390 ,p_token_2 => 'LOOKUP_CODE'
2391 ,p_value_2 => p_lookup_code
2392 ,p_token_3 => 'LOOKUP_TYPE'
2393 ,p_value_3 => p_lookup_type
2394 ,p_token_4 => 'PRODUCT_NAME'
2395 ,p_value_4 => xla_ae_journal_entry_pkg.g_cache_event.application_name
2396 ,p_entity_id => xla_ae_journal_entry_pkg.g_cache_event.entity_id
2397 ,p_event_id => xla_ae_journal_entry_pkg.g_cache_event.event_id
2398 ,p_ledger_id => xla_ae_journal_entry_pkg.g_cache_event.target_ledger_id
2399 );
2400
2401 IF (C_LEVEL_ERROR >= g_log_level) THEN
2402 trace
2403 (p_msg => 'ERROR: XLA_AP_NO_LOOKUP_MEANING'
2404 ,p_level => C_LEVEL_ERROR
2405 ,p_module => l_log_module);
2406 END IF;
2407
2408 RETURN NULL;
2409 WHEN xla_exceptions_pkg.application_exception THEN
2410 RAISE;
2411 WHEN OTHERS THEN
2412 xla_exceptions_pkg.raise_message
2413 (p_location => 'xla_ae_sources_pkg.GetLookupMeaning');
2414 --
2415 END GetLookupMeaning;
2416 --
2417 --
2418 --+==========================================================================+
2419 --| PUBLIC procedures and functions |
2420 --| |
2421 --| |
2422 --| mapping set |
2423 --| |
2424 --| |
2425 --| |
2426 --| |
2427 --| |
2428 --| |
2429 --| |
2430 --| |
2431 --| |
2432 --| |
2433 --| |
2434 --+==========================================================================+
2435 --
2436 --
2437 /*======================================================================+
2438 | |
2439 | Public Procedure |
2440 | |
2441 | |
2442 +======================================================================*/
2443
2444 -- rewritten in bug10037318 to implement mapping sets caching
2445
2446
2447 FUNCTION get_mapping_flexfield_char (
2448 p_component_type IN VARCHAR2
2449 , p_component_code IN VARCHAR2
2450 , p_component_type_code IN VARCHAR2
2451 , p_component_appl_id IN INTEGER
2452 , p_amb_context_code IN VARCHAR2
2453 , p_mapping_set_code IN VARCHAR2
2454 , p_input_constant IN VARCHAR2
2455 , p_ae_header_id IN NUMBER
2456 )
2457 RETURN VARCHAR2
2458 IS
2459 --
2460 l_event_date DATE := xla_ae_journal_entry_pkg.g_cache_event.event_date;
2461
2462 --
2463 CURSOR value_cur( p_mapping_set_code VARCHAR2
2464 , p_input_constant VARCHAR2
2465 , p_event_date DATE
2466 )
2467 IS
2468 --
2469 SELECT xmsv.value_constant
2470 , xmsv.input_value_type_code
2471 , xmsv.effective_date_from
2472 , xmsv.effective_date_to
2473 FROM xla_mapping_set_values xmsv
2474 WHERE xmsv.mapping_set_code = p_mapping_set_code
2475 AND (p_event_date BETWEEN NVL(xmsv.effective_date_from,p_event_date)AND NVL(xmsv.effective_date_to,p_event_date))
2476 AND ( ( xmsv.input_value_type_code ='I' AND xmsv.input_value_constant = p_input_constant )
2477 OR xmsv.input_value_type_code = 'D'
2478 )
2479 AND enabled_flag = 'Y'
2480 AND amb_context_code = p_amb_context_code;
2481
2482 -- 8501964 changed where clause to include amb_context_code and remove nvl
2483 --
2484 l_result VARCHAR2(240);
2485 l_default VARCHAR2(240);
2486 l_index VARCHAR2(500);
2487 l_exists BOOLEAN:= FALSE;
2488 l_log_module VARCHAR2(240);
2489
2490 BEGIN
2491 --
2492 IF g_log_enabled THEN
2493 l_log_module := C_DEFAULT_MODULE||'.get_mapping_flexfield_char';
2494 END IF;
2495 --
2496
2497
2498 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2499 trace
2500 (p_msg => 'BEGIN of get_mapping_flexfield_char'
2501 ,p_level => C_LEVEL_PROCEDURE
2502 ,p_module => l_log_module);
2503
2504 trace
2505 (p_msg => 'p_mapping_set_code = '|| p_mapping_set_code
2506 ,p_level => C_LEVEL_PROCEDURE
2507 ,p_module => l_log_module);
2508
2509 trace
2510 (p_msg => 'p_input_constant = '|| p_input_constant
2511 ,p_level => C_LEVEL_PROCEDURE
2512 ,p_module => l_log_module);
2513
2514 trace
2515 (p_msg => 'l_event_date = '|| TO_CHAR(l_event_date)
2516 ,p_level => C_LEVEL_PROCEDURE
2517 ,p_module => l_log_module);
2518
2519 trace
2520 (p_msg => 'p_component_type = '|| p_component_type
2521 ,p_level => C_LEVEL_STATEMENT
2522 ,p_module => l_log_module);
2523
2524 trace
2525 (p_msg => 'p_component_code = '|| p_component_code
2526 ,p_level => C_LEVEL_STATEMENT
2527 ,p_module => l_log_module);
2528
2529 trace
2530 (p_msg => 'p_component_type_code = '|| p_component_type_code
2531 ,p_level => C_LEVEL_STATEMENT
2532 ,p_module => l_log_module);
2533
2534 trace
2535 (p_msg => 'p_component_appl_id = '|| p_component_appl_id
2536 ,p_level => C_LEVEL_STATEMENT
2537 ,p_module => l_log_module);
2538
2539 trace
2540 (p_msg => 'p_amb_context_code = '|| p_amb_context_code
2541 ,p_level => C_LEVEL_STATEMENT
2542 ,p_module => l_log_module);
2543
2544 END IF;
2545
2546
2547
2548 l_index := p_amb_context_code||'-'||p_mapping_set_code||'-'||p_input_constant;
2549
2550
2551 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2552 trace
2553 (p_msg => 'l_index value = '|| l_index
2554 ,p_level => C_LEVEL_PROCEDURE
2555 ,p_module => l_log_module);
2556 END IF;
2557
2558
2559 --retrieve directly from cache if it already exists there and if the date check is satisfied
2560 IF xla_accounting_cache_pkg.l_mapping_table_char.EXISTS(l_index)
2561 AND (l_event_date >= NVL(xla_accounting_cache_pkg.l_mapping_table_char(l_index).effective_date_from,l_event_date))
2562 AND (l_event_date <= NVL(xla_accounting_cache_pkg.l_mapping_table_char(l_index).effective_date_to,l_event_date))
2563 THEN
2564
2565 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2566 trace
2567 (p_msg => 'cache hit for input = '|| l_index
2568 ,p_level => C_LEVEL_PROCEDURE
2569 ,p_module => l_log_module);
2570 trace
2571 (p_msg => 'cache returns value = '|| xla_accounting_cache_pkg.l_mapping_table_char(l_index).value_constant
2572 ,p_level => C_LEVEL_PROCEDURE
2573 ,p_module => l_log_module);
2574 END IF;
2575
2576 RETURN(xla_accounting_cache_pkg.l_mapping_table_char(l_index).value_constant);
2577
2578
2579 END IF;
2580
2581 -- possibilities in this flow:
2582 -- a) didnt exist in cache at all, requires searching in database table:
2583 --i) if I found in database table, then cache and return result
2584 --ii) if D found in database table, then don't cache and return result
2585 --ii) if not found in database table, then either bad input value or date/other filter didnt satisfy,
2586 --don't cache and return NULL
2587 -- b) exists in cache but date check didn't satisfy, maybe it will satisfy D date check or some other I case, else will return NULL
2588
2589 l_result := NULL;
2590 l_default := NULL;
2591
2592 FOR value_rec IN value_cur(p_mapping_set_code => p_mapping_set_code
2593 ,p_input_constant => p_input_constant
2594 ,p_event_date => l_event_date)
2595 --loop could return:
2596 --a) no rows
2597 --b) two rows: I and D
2598 --c) two rows: D and I
2599 --d) one row I
2600 --e) one row D
2601 LOOP
2602 IF value_rec.input_value_type_code = 'I' THEN
2603 xla_accounting_cache_pkg.l_mapping_table_char(l_index).value_constant := value_rec.value_constant;
2604 xla_accounting_cache_pkg.l_mapping_table_char(l_index).effective_date_from := value_rec.effective_date_from;
2605 xla_accounting_cache_pkg.l_mapping_table_char(l_index).effective_date_to := value_rec.effective_date_to;
2606 l_result := value_rec.value_constant;
2607
2608 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2609 trace
2610 (p_msg => 'database hit for I case, return value = '|| value_rec.value_constant
2611 ,p_level => C_LEVEL_PROCEDURE
2612 ,p_module => l_log_module);
2613 END IF;
2614
2615 ELSIF value_rec.input_value_type_code = 'D' THEN
2616 l_default := value_rec.value_constant;
2617
2618 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2619 trace
2620 (p_msg => 'database hit for D case, return value = '|| value_rec.value_constant
2621 ,p_level => C_LEVEL_PROCEDURE
2622 ,p_module => l_log_module);
2623 END IF;
2624
2625 END IF;
2626 END LOOP;
2627
2628 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2629 trace
2630 (p_msg => 'function return value '|| NVL(l_result, l_default)
2631 ,p_level => C_LEVEL_PROCEDURE
2632 ,p_module => l_log_module);
2633 trace
2634 (p_msg => 'END of get_mapping_flexfield_char'
2635 ,p_level => C_LEVEL_PROCEDURE
2636 ,p_module => l_log_module);
2637
2638 END IF;
2639
2640
2641 RETURN NVL(l_result, l_default);
2642
2643 --
2644 EXCEPTION
2645 WHEN xla_exceptions_pkg.application_exception THEN
2646 RAISE;
2647 WHEN OTHERS THEN
2648 xla_exceptions_pkg.raise_message
2649 (p_location => 'xla_ae_sources_pkg.get_mapping_flexfield_char');
2650 END get_mapping_flexfield_char;
2651 --
2652 --
2653 /*======================================================================+
2654 | |
2655 | Public Procedure |
2656 | |
2657 | |
2658 +======================================================================*/
2659
2660 -- rewritten in bug10037318 to implement mapping sets caching
2661
2662 FUNCTION get_mapping_flexfield_number (
2663 p_component_type IN VARCHAR2
2664 , p_component_code IN VARCHAR2
2665 , p_component_type_code IN VARCHAR2
2666 , p_component_appl_id IN INTEGER
2667 , p_amb_context_code IN VARCHAR2
2668 , p_mapping_set_code IN VARCHAR2
2669 , p_input_constant IN VARCHAR2
2670 , p_ae_header_id IN NUMBER
2671 )
2672 RETURN NUMBER
2673 IS
2674 --
2675 l_event_date DATE := xla_ae_journal_entry_pkg.g_cache_event.event_date;
2676
2677 --
2678 CURSOR value_cur( p_mapping_set_code VARCHAR2
2679 , p_input_constant VARCHAR2
2680 , p_event_date DATE
2681 )
2682 IS
2683 --
2684 SELECT xmsv.value_code_combination_id
2685 , xmsv.input_value_type_code
2686 , xmsv.effective_date_from
2687 , xmsv.effective_date_to
2688 FROM xla_mapping_set_values xmsv
2689 WHERE xmsv.mapping_set_code = p_mapping_set_code
2690 AND (p_event_date BETWEEN NVL(xmsv.effective_date_from,p_event_date)AND NVL(xmsv.effective_date_to,p_event_date))
2691 AND ( ( xmsv.input_value_type_code ='I' AND xmsv.input_value_constant = p_input_constant )
2692 OR xmsv.input_value_type_code = 'D'
2693 )
2694 AND enabled_flag = 'Y'
2695 AND amb_context_code = p_amb_context_code;
2696
2697 -- 8501964 changed where clause to include amb_context_code and remove nvl
2698 --
2699 l_result NUMBER;
2700 l_default NUMBER;
2701 l_index VARCHAR2(500);
2702 l_exists BOOLEAN:= FALSE;
2703 l_log_module VARCHAR2(240);
2704
2705 BEGIN
2706 --
2707 IF g_log_enabled THEN
2708 l_log_module := C_DEFAULT_MODULE||'.get_mapping_flexfield_number';
2709 END IF;
2710 --
2711
2712
2713 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2714 trace
2715 (p_msg => 'BEGIN of get_mapping_flexfield_number'
2716 ,p_level => C_LEVEL_PROCEDURE
2717 ,p_module => l_log_module);
2718
2719 trace
2720 (p_msg => 'p_mapping_set_code = '|| p_mapping_set_code
2721 ,p_level => C_LEVEL_PROCEDURE
2722 ,p_module => l_log_module);
2723
2724 trace
2725 (p_msg => 'p_input_constant = '|| p_input_constant
2726 ,p_level => C_LEVEL_PROCEDURE
2727 ,p_module => l_log_module);
2728
2729 trace
2730 (p_msg => 'l_event_date = '|| TO_CHAR(l_event_date)
2731 ,p_level => C_LEVEL_PROCEDURE
2732 ,p_module => l_log_module);
2733
2734 trace
2735 (p_msg => 'p_component_type = '|| p_component_type
2736 ,p_level => C_LEVEL_STATEMENT
2737 ,p_module => l_log_module);
2738
2739 trace
2740 (p_msg => 'p_component_code = '|| p_component_code
2741 ,p_level => C_LEVEL_STATEMENT
2742 ,p_module => l_log_module);
2743
2744 trace
2745 (p_msg => 'p_component_type_code = '|| p_component_type_code
2746 ,p_level => C_LEVEL_STATEMENT
2747 ,p_module => l_log_module);
2748
2749 trace
2750 (p_msg => 'p_component_appl_id = '|| p_component_appl_id
2751 ,p_level => C_LEVEL_STATEMENT
2752 ,p_module => l_log_module);
2753
2754 trace
2755 (p_msg => 'p_amb_context_code = '|| p_amb_context_code
2756 ,p_level => C_LEVEL_STATEMENT
2757 ,p_module => l_log_module);
2758
2759 END IF;
2760
2761
2762
2763 l_index := p_amb_context_code||'-'||p_mapping_set_code||'-'||p_input_constant;
2764
2765
2766 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2767 trace
2768 (p_msg => 'l_index value = '|| l_index
2769 ,p_level => C_LEVEL_PROCEDURE
2770 ,p_module => l_log_module);
2771 END IF;
2772
2773
2774 --retrieve directly from cache if it already exists there and if the date check is satisfied
2775 IF xla_accounting_cache_pkg.l_mapping_table_num.EXISTS(l_index)
2776 AND (l_event_date >= NVL(xla_accounting_cache_pkg.l_mapping_table_num(l_index).effective_date_from,l_event_date))
2777 AND (l_event_date <= NVL(xla_accounting_cache_pkg.l_mapping_table_num(l_index).effective_date_to,l_event_date))
2778 THEN
2779
2780 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2781 trace
2782 (p_msg => 'cache hit for input = '|| l_index
2783 ,p_level => C_LEVEL_PROCEDURE
2784 ,p_module => l_log_module);
2785 trace
2786 (p_msg => 'cache returns value = '|| xla_accounting_cache_pkg.l_mapping_table_num(l_index).value_code_combination_id
2787 ,p_level => C_LEVEL_PROCEDURE
2788 ,p_module => l_log_module);
2789 END IF;
2790
2791 RETURN(xla_accounting_cache_pkg.l_mapping_table_num(l_index).value_code_combination_id);
2792
2793
2794 END IF;
2795
2796 -- possibilities in this flow:
2797 -- a) didnt exist in cache at all, requires searching in database table:
2798 --i) if I found in database table, then cache and return result
2799 --ii) if D found in database table, then don't cache and return result
2800 --ii) if not found in database table, then either bad input value or date/other filter didnt satisfy,
2801 --don't cache and return NULL
2802 -- b) exists in cache but date check didn't satisfy, maybe it will satisfy D date check or some other I case, else will return NULL
2803
2804 l_result := NULL;
2805 l_default := NULL;
2806
2807 FOR value_rec IN value_cur(p_mapping_set_code => p_mapping_set_code
2808 ,p_input_constant => p_input_constant
2809 ,p_event_date => l_event_date)
2810 --loop could return:
2811 --a) no rows
2812 --b) two rows: I and D
2813 --c) two rows: D and I
2814 --d) one row I
2815 --e) one row D
2816 LOOP
2817 IF value_rec.input_value_type_code = 'I' THEN
2818 xla_accounting_cache_pkg.l_mapping_table_num(l_index).value_code_combination_id := value_rec.value_code_combination_id;
2819 xla_accounting_cache_pkg.l_mapping_table_num(l_index).effective_date_from := value_rec.effective_date_from;
2820 xla_accounting_cache_pkg.l_mapping_table_num(l_index).effective_date_to := value_rec.effective_date_to;
2821 l_result := value_rec.value_code_combination_id;
2822
2823 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2824 trace
2825 (p_msg => 'database hit for I case, return value = '|| value_rec.value_code_combination_id
2826 ,p_level => C_LEVEL_PROCEDURE
2827 ,p_module => l_log_module);
2828 END IF;
2829
2830 ELSIF value_rec.input_value_type_code = 'D' THEN
2831 l_default := value_rec.value_code_combination_id;
2832
2833 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2834 trace
2835 (p_msg => 'database hit for D case, return value = '|| value_rec.value_code_combination_id
2836 ,p_level => C_LEVEL_PROCEDURE
2837 ,p_module => l_log_module);
2838 END IF;
2839
2840 END IF;
2841 END LOOP;
2842
2843 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2844 trace
2845 (p_msg => 'function return value '|| NVL(l_result, l_default)
2846 ,p_level => C_LEVEL_PROCEDURE
2847 ,p_module => l_log_module);
2848 trace
2849 (p_msg => 'END of get_mapping_flexfield_number'
2850 ,p_level => C_LEVEL_PROCEDURE
2851 ,p_module => l_log_module);
2852
2853 END IF;
2854
2855
2856 RETURN NVL(l_result, l_default);
2857
2858 --
2859 EXCEPTION
2860 WHEN xla_exceptions_pkg.application_exception THEN
2861 RAISE;
2862 WHEN OTHERS THEN
2863 xla_exceptions_pkg.raise_message
2864 (p_location => 'xla_ae_sources_pkg.get_mapping_flexfield_number');
2865 END get_mapping_flexfield_number;
2866 --
2867 --
2868 /*======================================================================+
2869 | |
2870 | Public Function |
2871 | Convert date into varchar according to the description language |
2872 | |
2873 +======================================================================*/
2874 FUNCTION DATE_TO_CHAR (
2875 p_date IN DATE
2876 ,p_nls_desc_language IN VARCHAR2
2877 )
2878 RETURN VARCHAR2
2879 IS
2880 l_date_language VARCHAR2(200);
2881 l_date_format VARCHAR2(200);
2882 l_log_module VARCHAR2(240);
2883 BEGIN
2884 --
2885 IF g_log_enabled THEN
2886 l_log_module := C_DEFAULT_MODULE||'.DATE_TO_CHAR';
2887 END IF;
2888 --
2889 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2890
2891 trace
2892 (p_msg => 'BEGIN of DATE_TO_CHAR'
2893 ,p_level => C_LEVEL_PROCEDURE
2894 ,p_module => l_log_module);
2895
2896 trace
2897 (p_msg => 'p_date = '|| p_date
2898 ,p_level => C_LEVEL_PROCEDURE
2899 ,p_module => l_log_module);
2900
2901 trace
2902 (p_msg => 'p_nls_desc_language = '|| p_nls_desc_language
2903 ,p_level => C_LEVEL_PROCEDURE
2904 ,p_module => l_log_module);
2905
2906 END IF;
2907 --
2908
2909 l_date_language := 'nls_date_language= '''||p_nls_desc_language||'''';
2910 l_date_format := SYS_CONTEXT('USERENV','NLS_DATE_FORMAT');
2911 --
2912 IF (C_LEVEL_PROCEDURE >= g_log_level) THEN
2913
2914 trace
2915 (p_msg => 'return value. = '|| TO_CHAR(p_date,l_date_format,l_date_language)
2916 ,p_level => C_LEVEL_PROCEDURE
2917 ,p_module => l_log_module);
2918
2919 trace
2920 (p_msg => 'END of DATE_TO_CHAR'
2921 ,p_level => C_LEVEL_PROCEDURE
2922 ,p_module => l_log_module);
2923 END IF;
2924
2925 RETURN TO_CHAR(p_date,l_date_format,l_date_language);
2926 --
2927 EXCEPTION
2928 WHEN xla_exceptions_pkg.application_exception THEN
2929 RAISE;
2930 WHEN OTHERS THEN
2931 xla_exceptions_pkg.raise_message
2932 (p_location => 'xla_ae_sources_pkg.DATE_TO_CHAR');
2933 END DATE_TO_CHAR;
2934 --
2935 --
2936 --=============================================================================
2937 --
2938 --
2939 --
2940 --
2941 --
2942 --
2943 --
2944 --
2945 --
2946 --
2947 --
2948 --
2949 --
2950 --
2951 --
2952 --
2953 --
2954 --
2955 --
2956 --
2957 --
2958 --
2959 --=============================================================================
2960 --=============================================================================
2961 -- *********** Initialization routine **********
2962 --=============================================================================
2963
2964 BEGIN
2965
2966 g_log_level := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
2967 g_log_enabled := fnd_log.test
2968 (log_level => g_log_level
2969 ,module => C_DEFAULT_MODULE);
2970
2971 IF NOT g_log_enabled THEN
2972 g_log_level := C_LEVEL_LOG_DISABLED;
2973 END IF;
2974
2975 END xla_ae_sources_pkg; --