23: FND_MESSAGE.SET_NAME('FND', 'SQL_PLSQL_ERROR');
24: FND_MESSAGE.SET_TOKEN('ROUTINE', routine);
25: FND_MESSAGE.SET_TOKEN('ERRNO', errcode);
26: FND_MESSAGE.SET_TOKEN('REASON', errmsg);
27: IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
28: FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED, routine, FALSE);
29: END IF;
30: APP_EXCEPTION.RAISE_EXCEPTION;
31: EXCEPTION
24: FND_MESSAGE.SET_TOKEN('ROUTINE', routine);
25: FND_MESSAGE.SET_TOKEN('ERRNO', errcode);
26: FND_MESSAGE.SET_TOKEN('REASON', errmsg);
27: IF (FND_LOG.LEVEL_UNEXPECTED >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
28: FND_LOG.MESSAGE(FND_LOG.LEVEL_UNEXPECTED, routine, FALSE);
29: END IF;
30: APP_EXCEPTION.RAISE_EXCEPTION;
31: EXCEPTION
32: WHEN OTHERS THEN RAISE;
73: THEN
74: fnd_message.set_token(token4,value4);
75: END IF;
76:
77: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
78: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, routine, FALSE);
79: END IF;
80:
81: app_exception.raise_exception;
74: fnd_message.set_token(token4,value4);
75: END IF;
76:
77: IF (FND_LOG.LEVEL_ERROR >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
78: FND_LOG.MESSAGE(FND_LOG.LEVEL_ERROR, routine, FALSE);
79: END IF;
80:
81: app_exception.raise_exception;
82:
100: )
101: IS
102:
103: BEGIN
104: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
105: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
106: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.begin',
107: 'Calling PL/SQL procedure XLA_MO_REPORTING_API.INITIALIZE:'||
108: ' p_reporting_level=>'||p_reporting_level||
101: IS
102:
103: BEGIN
104: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
105: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
106: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.begin',
107: 'Calling PL/SQL procedure XLA_MO_REPORTING_API.INITIALIZE:'||
108: ' p_reporting_level=>'||p_reporting_level||
109: ',p_reporting_entity_id=>'||p_reporting_entity_id||
114: p_reporting_entity_id,
115: p_pred_type,
116: 'Y');
117:
118: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
119: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
120: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.end',
121: 'Returning from PL/SQL procedure XLA_MO_REPORTING_API.INITIALIZE:');
122:
115: p_pred_type,
116: 'Y');
117:
118: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
119: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
120: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.end',
121: 'Returning from PL/SQL procedure XLA_MO_REPORTING_API.INITIALIZE:');
122:
123: END IF;
250:
251: l_dummy NUMBER;
252:
253: BEGIN
254: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
255: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
256: 'xla.plsql.XLA_MO_REPORTING_API.VALIDATE_REPORTING_LEVEL.begin',
257: 'Calling PL/SQL procedure XLA_MO_REPORTING_API.VALIDATE_REPORTING_LEVEL:'||
258: ' p_reporting_level=>'||p_reporting_level);
251: l_dummy NUMBER;
252:
253: BEGIN
254: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
255: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
256: 'xla.plsql.XLA_MO_REPORTING_API.VALIDATE_REPORTING_LEVEL.begin',
257: 'Calling PL/SQL procedure XLA_MO_REPORTING_API.VALIDATE_REPORTING_LEVEL:'||
258: ' p_reporting_level=>'||p_reporting_level);
259: END IF;
259: END IF;
260:
261: l_top_reporting_level := fnd_profile.value('XLA_MO_TOP_REPORTING_LEVEL');
262:
263: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
264: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
265: 'xla.plsql.XLA_MO_REPORTING_API.VALIDATE_REPORTING_LEVEL.config',
266: 'MO: Top Reporting Level='||l_top_reporting_level);
267: END IF;
260:
261: l_top_reporting_level := fnd_profile.value('XLA_MO_TOP_REPORTING_LEVEL');
262:
263: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
264: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
265: 'xla.plsql.XLA_MO_REPORTING_API.VALIDATE_REPORTING_LEVEL.config',
266: 'MO: Top Reporting Level='||l_top_reporting_level);
267: END IF;
268:
280: END IF;
281:
282: CLOSE l_check_reporting_level;
283:
284: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
285: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
286: 'xla.plsql.XLA_MO_REPORTING_API.VALIDATE_REPORTING_LEVEL.end',
287: 'Returning from PL/SQL procedure '||
288: 'XLA_MO_REPORTING_API.VALIDATE_REPORTING_LEVEL');
281:
282: CLOSE l_check_reporting_level;
283:
284: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
285: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
286: 'xla.plsql.XLA_MO_REPORTING_API.VALIDATE_REPORTING_LEVEL.end',
287: 'Returning from PL/SQL procedure '||
288: 'XLA_MO_REPORTING_API.VALIDATE_REPORTING_LEVEL');
289: END IF;
337:
338: l_dummy NUMBER;
339:
340: BEGIN
341: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
342: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
343: 'xla.plsql.XLA_MO_REPORTING_API.VALIDATE_REPORTING_ENTITY.begin',
344: 'Calling PL/SQL procedure XLA_MO_REPORTING_API.VALIDATE_REPORTING_ENTITY:'||
345: ' p_reporting_level=>'||p_reporting_level||
338: l_dummy NUMBER;
339:
340: BEGIN
341: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
342: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
343: 'xla.plsql.XLA_MO_REPORTING_API.VALIDATE_REPORTING_ENTITY.begin',
344: 'Calling PL/SQL procedure XLA_MO_REPORTING_API.VALIDATE_REPORTING_ENTITY:'||
345: ' p_reporting_level=>'||p_reporting_level||
346: ',p_reporting_entity_id=>'||p_reporting_entity_id);
347: END IF;
348:
349: validate_reporting_level(p_reporting_level);
350:
351: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
352: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
353: 'xla.plsql.XLA_MO_REPORTING_API.VALIDATE_REPORTING_ENTITY.rep_level_valid',
354: 'Reporting level is valid');
355: END IF;
348:
349: validate_reporting_level(p_reporting_level);
350:
351: IF (FND_LOG.LEVEL_STATEMENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
352: FND_LOG.STRING(FND_LOG.LEVEL_STATEMENT,
353: 'xla.plsql.XLA_MO_REPORTING_API.VALIDATE_REPORTING_ENTITY.rep_level_valid',
354: 'Reporting level is valid');
355: END IF;
356:
367: END IF;
368:
369: CLOSE l_check_reporting_entity;
370:
371: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
372: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
373: 'xla.plsql.XLA_MO_REPORTING_API.VALIDATE_REPORTING_ENTITY.end',
374: 'Returning from PL/SQL procedure '||
375: 'XLA_MO_REPORTING_API.VALIDATE_REPORTING_ENTITY:');
368:
369: CLOSE l_check_reporting_entity;
370:
371: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
372: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
373: 'xla.plsql.XLA_MO_REPORTING_API.VALIDATE_REPORTING_ENTITY.end',
374: 'Returning from PL/SQL procedure '||
375: 'XLA_MO_REPORTING_API.VALIDATE_REPORTING_ENTITY:');
376: END IF;
425:
426: l_use_nvl VARCHAR2(1);
427:
428: BEGIN
429: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
430: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
431: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.begin',
432: 'Calling PL/SQL procedure XLA_MO_REPORTING_API.INITIALIZE:'||
433: ' p_reporting_level=>'||p_reporting_level||
426: l_use_nvl VARCHAR2(1);
427:
428: BEGIN
429: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
430: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
431: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.begin',
432: 'Calling PL/SQL procedure XLA_MO_REPORTING_API.INITIALIZE:'||
433: ' p_reporting_level=>'||p_reporting_level||
434: ',p_reporting_entity_id=>'||p_reporting_entity_id||
446: ELSE
447: l_use_nvl := 'Y';
448: END IF;
449:
450: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
451: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
452: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.use_nvl',
453: 'nvl(fnd_product_groups.multi_org_flag,''N'')='||l_multi_org_enabled||
454: ',l_use_nvl='||l_use_nvl);
447: l_use_nvl := 'Y';
448: END IF;
449:
450: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
451: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
452: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.use_nvl',
453: 'nvl(fnd_product_groups.multi_org_flag,''N'')='||l_multi_org_enabled||
454: ',l_use_nvl='||l_use_nvl);
455: END IF;
467: -- association of primary and reporting set of books in HR.
468: IF p_reporting_level = '1000' then
469: gl_mc_info.get_sob_type(p_reporting_entity_id, l_sob_type);
470:
471: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
472: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
473: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.get_sob_type',
474: 'gl_mc_info.get_sob_type='||l_sob_type);
475: END IF;
468: IF p_reporting_level = '1000' then
469: gl_mc_info.get_sob_type(p_reporting_entity_id, l_sob_type);
470:
471: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
472: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
473: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.get_sob_type',
474: 'gl_mc_info.get_sob_type='||l_sob_type);
475: END IF;
476:
483: -- a given reporting set of books.
484: l_reporting_entity_id :=
485: gl_mc_info.get_primary_set_of_books_id(p_reporting_entity_id);
486:
487: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
488: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
489: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.primary_sob_id',
490: 'gl_mc_info.primary_set_of_books_id='||l_reporting_entity_id);
491: END IF;
484: l_reporting_entity_id :=
485: gl_mc_info.get_primary_set_of_books_id(p_reporting_entity_id);
486:
487: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
488: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
489: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.primary_sob_id',
490: 'gl_mc_info.primary_set_of_books_id='||l_reporting_entity_id);
491: END IF;
492:
514: ELSE
515: l_pred_type := 'EXISTS';
516: END IF;
517:
518: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
519: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
520: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_type',
521: 'Determined predicate type:'||
522: ' l_count='||l_count||
515: l_pred_type := 'EXISTS';
516: END IF;
517:
518: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
519: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
520: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_type',
521: 'Determined predicate type:'||
522: ' l_count='||l_count||
523: ',g_max_num='||g_max_num||
531: THEN
532:
533: l_pred_type := p_pred_type;
534:
535: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
536: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
537: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_type',
538: 'Determined predicate type: '||
539: 'l_pred_type='||l_pred_type);
532:
533: l_pred_type := p_pred_type;
534:
535: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
536: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
537: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_type',
538: 'Determined predicate type: '||
539: 'l_pred_type='||l_pred_type);
540: END IF;
543:
544:
545: IF ( p_reporting_level = '3000' ) /* Operating Unit Level */ THEN
546:
547: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
548: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
549: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_text',
550: 'Generating predicate for reporting level 3000');
551: END IF;
544:
545: IF ( p_reporting_level = '3000' ) /* Operating Unit Level */ THEN
546:
547: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
548: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
549: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_text',
550: 'Generating predicate for reporting level 3000');
551: END IF;
552:
562: ) AND l_pred_type = 'IN_LIST' ) THEN
563:
564: -- replaced IN logic with EXISTS for performance reasons
565:
566: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
567: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
568: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_text',
569: 'Generating EXISTS predicate for reporting level 1000/2000');
570: END IF;
563:
564: -- replaced IN logic with EXISTS for performance reasons
565:
566: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
567: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
568: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_text',
569: 'Generating EXISTS predicate for reporting level 1000/2000');
570: END IF;
571:
603: AND l_pred_type = 'INSTR' ) THEN
604:
605: -- replaced INSTR logic with EXISTS for performance reasons
606:
607: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
608: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
609: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_text',
610: 'Generating EXISTS predicate for reporting level 1000/2000');
611: END IF;
604:
605: -- replaced INSTR logic with EXISTS for performance reasons
606:
607: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
608: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
609: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_text',
610: 'Generating EXISTS predicate for reporting level 1000/2000');
611: END IF;
612:
642: ELSIF ( ( p_reporting_level = '2000'
643: OR p_reporting_level = '1000' )
644: AND l_pred_type = 'EXISTS' ) THEN
645:
646: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
647: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
648: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_text',
649: 'Generating EXISTS predicate for reporting level 1000/2000');
650: END IF;
643: OR p_reporting_level = '1000' )
644: AND l_pred_type = 'EXISTS' ) THEN
645:
646: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
647: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
648: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_text',
649: 'Generating EXISTS predicate for reporting level 1000/2000');
650: END IF;
651:
679: ELSIF ( ( p_reporting_level = '2000'
680: OR p_reporting_level = '1000' )
681: AND l_pred_type = 'IN_SELECT' ) THEN
682:
683: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
684: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
685: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_text',
686: 'Generating IN_SELECT predicate for reporting level 1000/2000');
687: END IF;
680: OR p_reporting_level = '1000' )
681: AND l_pred_type = 'IN_SELECT' ) THEN
682:
683: IF (FND_LOG.LEVEL_EVENT >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
684: FND_LOG.STRING(FND_LOG.LEVEL_EVENT,
685: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.pred_text',
686: 'Generating IN_SELECT predicate for reporting level 1000/2000');
687: END IF;
688:
720: g_pred := l_pred;
721:
722: l_pred := NULL;
723:
724: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
725: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
726: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.end',
727: 'Returning from PL/SQL procedure XLA_MO_REPORTING_API.INITIALIZE:'||
728: ' g_reporting_level='||g_reporting_level||
721:
722: l_pred := NULL;
723:
724: IF (FND_LOG.LEVEL_PROCEDURE >= FND_LOG.G_CURRENT_RUNTIME_LEVEL) THEN
725: FND_LOG.STRING(FND_LOG.LEVEL_PROCEDURE,
726: 'xla.plsql.XLA_MO_REPORTING_API.INITIALIZE.end',
727: 'Returning from PL/SQL procedure XLA_MO_REPORTING_API.INITIALIZE:'||
728: ' g_reporting_level='||g_reporting_level||
729: ',g_reporting_entity_id='||g_reporting_entity_id||