90: BEGIN
91: l_stmt := 'SELECT SET_OF_BOOKS_ID FROM ISCBV_EDW_BACKLOG_SUM1_FCV@'
92: ||g_rec(i).db_link
93: ||' WHERE ROWNUM < 2';
94: EDW_LOG.Debug_Line('');
95: EDW_LOG.Debug_Line(l_stmt);
96: EXECUTE IMMEDIATE l_stmt INTO l_dummy;
97: IF l_dummy IS NOT NULL
98: THEN g_rec(i).valid := TRUE;
91: l_stmt := 'SELECT SET_OF_BOOKS_ID FROM ISCBV_EDW_BACKLOG_SUM1_FCV@'
92: ||g_rec(i).db_link
93: ||' WHERE ROWNUM < 2';
94: EDW_LOG.Debug_Line('');
95: EDW_LOG.Debug_Line(l_stmt);
96: EXECUTE IMMEDIATE l_stmt INTO l_dummy;
97: IF l_dummy IS NOT NULL
98: THEN g_rec(i).valid := TRUE;
99: ELSE g_rec(i).valid := FALSE;
103: IF g_rec(i).valid = TRUE
104: THEN
105: BEGIN
106: l_stmt := 'SELECT instance_code from edw_local_instance@'||g_rec(i).db_link;
107: EDW_LOG.Debug_Line('');
108: EDW_LOG.Debug_Line(l_stmt);
109: EXECUTE IMMEDIATE l_stmt INTO g_rec(i).source_instance;
110:
111: IF i > 1
104: THEN
105: BEGIN
106: l_stmt := 'SELECT instance_code from edw_local_instance@'||g_rec(i).db_link;
107: EDW_LOG.Debug_Line('');
108: EDW_LOG.Debug_Line(l_stmt);
109: EXECUTE IMMEDIATE l_stmt INTO g_rec(i).source_instance;
110:
111: IF i > 1
112: THEN
130: -- ----------------------------
131: IF g_rec(i).valid
132: THEN l_stmt := 'SELECT name '||'FROM v$database@'||g_rec(i).db_link;
133:
134: EDW_LOG.Debug_Line('');
135: EDW_LOG.Debug_Line(l_stmt);
136: EXECUTE IMMEDIATE l_stmt INTO l_db_name2;
137:
138: IF (l_db_name1 = l_db_name2)
131: IF g_rec(i).valid
132: THEN l_stmt := 'SELECT name '||'FROM v$database@'||g_rec(i).db_link;
133:
134: EDW_LOG.Debug_Line('');
135: EDW_LOG.Debug_Line(l_stmt);
136: EXECUTE IMMEDIATE l_stmt INTO l_db_name2;
137:
138: IF (l_db_name1 = l_db_name2)
139: THEN g_rec(i).same_inst := TRUE;
157: BEGIN
158:
159: l_stmt:='DROP TABLE '||g_isc_schema||'.'||p_table_name;
160:
161: EDW_LOG.Debug_Line('');
162: EDW_LOG.Debug_Line(l_stmt);
163: EXECUTE IMMEDIATE l_stmt;
164:
165:
158:
159: l_stmt:='DROP TABLE '||g_isc_schema||'.'||p_table_name;
160:
161: EDW_LOG.Debug_Line('');
162: EDW_LOG.Debug_Line(l_stmt);
163: EXECUTE IMMEDIATE l_stmt;
164:
165:
166: EXCEPTION
181: BEGIN
182:
183: l_stmt:='TRUNCATE TABLE '||g_isc_schema||'.'||p_table_name;
184:
185: EDW_LOG.Debug_Line('');
186: EDW_LOG.Debug_Line(l_stmt);
187: EXECUTE IMMEDIATE l_stmt;
188:
189: EXCEPTION
182:
183: l_stmt:='TRUNCATE TABLE '||g_isc_schema||'.'||p_table_name;
184:
185: EDW_LOG.Debug_Line('');
186: EDW_LOG.Debug_Line(l_stmt);
187: EXECUTE IMMEDIATE l_stmt;
188:
189: EXCEPTION
190: WHEN OTHERS
229: TABLESPACE '||g_tablespace||'
230: NOLOGGING PCTFREE 5
231: STORAGE (INITIAL 4K NEXT 32K)';
232:
233: EDW_LOG.Debug_Line('');
234: EDW_LOG.Debug_Line(l_stmt);
235: EXECUTE IMMEDIATE l_stmt;
236:
237:
230: NOLOGGING PCTFREE 5
231: STORAGE (INITIAL 4K NEXT 32K)';
232:
233: EDW_LOG.Debug_Line('');
234: EDW_LOG.Debug_Line(l_stmt);
235: EXECUTE IMMEDIATE l_stmt;
236:
237:
238: -- ------------------------
288: THEN l_stmt := l_stmt||' BACK ';
289: ELSE l_stmt := l_stmt||'@'||g_rec(i).db_link||' BACK ';
290: END IF;
291:
292: EDW_LOG.Debug_Line('');
293: EDW_LOG.Debug_Line(l_stmt);
294: EXECUTE IMMEDIATE l_stmt;
295:
296: COMMIT;
289: ELSE l_stmt := l_stmt||'@'||g_rec(i).db_link||' BACK ';
290: END IF;
291:
292: EDW_LOG.Debug_Line('');
293: EDW_LOG.Debug_Line(l_stmt);
294: EXECUTE IMMEDIATE l_stmt;
295:
296: COMMIT;
297:
320: BEGIN
321:
322: l_stmt := 'TRUNCATE TABLE '||g_isc_schema||'.ISC_EDW_BACKLOG_SUM1_F';
323:
324: EDW_LOG.Debug_Line('');
325: EDW_LOG.Debug_Line(l_stmt);
326: EXECUTE IMMEDIATE l_stmt;
327:
328:
321:
322: l_stmt := 'TRUNCATE TABLE '||g_isc_schema||'.ISC_EDW_BACKLOG_SUM1_F';
323:
324: EDW_LOG.Debug_Line('');
325: EDW_LOG.Debug_Line(l_stmt);
326: EXECUTE IMMEDIATE l_stmt;
327:
328:
329: l_stmt := 'INSERT INTO ISC_EDW_BACKLOG_SUM1_F (
387: AND org.orga_organization_pk
388: = summary.operating_unit_id||''-''||summary.instance_code
389: AND curr.crnc_currency_pk = summary.functional_currency';
390:
391: EDW_LOG.Debug_Line('');
392: EDW_LOG.Debug_Line(l_stmt);
393: EXECUTE IMMEDIATE l_stmt;
394:
395: EXCEPTION
388: = summary.operating_unit_id||''-''||summary.instance_code
389: AND curr.crnc_currency_pk = summary.functional_currency';
390:
391: EDW_LOG.Debug_Line('');
392: EDW_LOG.Debug_Line(l_stmt);
393: EXECUTE IMMEDIATE l_stmt;
394:
395: EXCEPTION
396: WHEN OTHERS
423: l_stmt := 'ALTER SESSION SET GLOBAL_NAMES = FALSE';
424: EXECUTE IMMEDIATE l_stmt;
425:
426: IF (fnd_profile.value('EDW_DEBUG') = 'Y')
427: THEN EDW_LOG.G_Debug := TRUE;
428: END IF;
429:
430: l_dir := FND_PROFILE.Value('EDW_LOGFILE_DIR');
431: IF l_dir IS NULL
426: IF (fnd_profile.value('EDW_DEBUG') = 'Y')
427: THEN EDW_LOG.G_Debug := TRUE;
428: END IF;
429:
430: l_dir := FND_PROFILE.Value('EDW_LOGFILE_DIR');
431: IF l_dir IS NULL
432: THEN l_dir := '/sqlcom/log';
433: END IF;
434: EDW_LOG.Put_Names('ISC_EDW_BACKLOG_SUM1_F.log','ISC_EDW_BACKLOG_SUM1_F.out',l_dir);
430: l_dir := FND_PROFILE.Value('EDW_LOGFILE_DIR');
431: IF l_dir IS NULL
432: THEN l_dir := '/sqlcom/log';
433: END IF;
434: EDW_LOG.Put_Names('ISC_EDW_BACKLOG_SUM1_F.log','ISC_EDW_BACKLOG_SUM1_F.out',l_dir);
435:
436:
437: FII_UTIL.Put_Timestamp;
438: EDW_LOG.Put_Line('');
434: EDW_LOG.Put_Names('ISC_EDW_BACKLOG_SUM1_F.log','ISC_EDW_BACKLOG_SUM1_F.out',l_dir);
435:
436:
437: FII_UTIL.Put_Timestamp;
438: EDW_LOG.Put_Line('');
439: EDW_LOG.Put_Line('Initialization');
440:
441: FII_UTIL.Start_Timer;
442:
435:
436:
437: FII_UTIL.Put_Timestamp;
438: EDW_LOG.Put_Line('');
439: EDW_LOG.Put_Line('Initialization');
440:
441: FII_UTIL.Start_Timer;
442:
443: Init;
444:
445: FII_UTIL.Stop_Timer;
446: FII_UTIL.Print_Timer('Duration');
447:
448: EDW_LOG.Put_Line('');
449: EDW_LOG.Put_Line('Dropping the Intermediary Summary Table');
450: FII_UTIL.Start_Timer;
451:
452: Drop_Table('ISC_EDW_BACK_SUM1_SUMM');
445: FII_UTIL.Stop_Timer;
446: FII_UTIL.Print_Timer('Duration');
447:
448: EDW_LOG.Put_Line('');
449: EDW_LOG.Put_Line('Dropping the Intermediary Summary Table');
450: FII_UTIL.Start_Timer;
451:
452: Drop_Table('ISC_EDW_BACK_SUM1_SUMM');
453:
453:
454: FII_UTIL.Stop_Timer;
455: FII_UTIL.Print_Timer('Duration');
456:
457: EDW_LOG.Put_Line('');
458: EDW_LOG.Put_Line('Truncating the Summary Table');
459: FII_UTIL.Start_Timer;
460:
461: Truncate_Table('ISC_EDW_BACKLOG_SUM1_F');
454: FII_UTIL.Stop_Timer;
455: FII_UTIL.Print_Timer('Duration');
456:
457: EDW_LOG.Put_Line('');
458: EDW_LOG.Put_Line('Truncating the Summary Table');
459: FII_UTIL.Start_Timer;
460:
461: Truncate_Table('ISC_EDW_BACKLOG_SUM1_F');
462:
463: FII_UTIL.Stop_Timer;
464: FII_UTIL.Print_Timer('Duration');
465:
466:
467: EDW_LOG.Put_Line('');
468: EDW_LOG.Put_Line('Extracting Backlog information from all the source instances ');
469: FII_UTIL.Start_Timer;
470:
471: Collect_Backlog;
464: FII_UTIL.Print_Timer('Duration');
465:
466:
467: EDW_LOG.Put_Line('');
468: EDW_LOG.Put_Line('Extracting Backlog information from all the source instances ');
469: FII_UTIL.Start_Timer;
470:
471: Collect_Backlog;
472:
472:
473: FII_UTIL.Stop_Timer;
474: FII_UTIL.Print_Timer('Duration');
475:
476: EDW_LOG.Put_Line('');
477: EDW_LOG.Put_Line('Populate the Backlog Summary Table ');
478: FII_UTIL.Start_Timer;
479:
480: Populate_Backlog_Summary;
473: FII_UTIL.Stop_Timer;
474: FII_UTIL.Print_Timer('Duration');
475:
476: EDW_LOG.Put_Line('');
477: EDW_LOG.Put_Line('Populate the Backlog Summary Table ');
478: FII_UTIL.Start_Timer;
479:
480: Populate_Backlog_Summary;
481:
490: errbuf := g_errbuf;
491: retcode := g_retcode;
492: g_exception_msg := retcode || ':' || errbuf;
493: ROLLBACK;
494: EDW_LOG.Put_Line('Drop Table has failed : '|| g_exception_msg);
495: RAISE;
496:
497:
498: WHEN G_TRUNC_TABLE_FAILURE
500: errbuf := g_errbuf;
501: retcode := g_retcode;
502: g_exception_msg := retcode || ':' || errbuf;
503: ROLLBACK;
504: EDW_LOG.Put_Line('Truncate Table has failed : '|| g_exception_msg);
505: RAISE;
506:
507:
508: WHEN G_COLLECT_BACK_FAILURE
510: errbuf := g_errbuf;
511: retcode := g_retcode;
512: g_exception_msg := retcode || ':' || errbuf;
513: ROLLBACK;
514: EDW_LOG.Put_Line('Collect Backlog has failed : '|| g_exception_msg);
515: RAISE;
516:
517: WHEN G_POP_BACK_SUM_FAILURE
518: THEN
519: errbuf := g_errbuf;
520: retcode := g_retcode;
521: g_exception_msg := retcode || ':' || errbuf;
522: ROLLBACK;
523: EDW_LOG.Put_Line('Populate Backlog Summary has failed : '|| g_exception_msg);
524: RAISE;
525:
526: WHEN OTHERS
527: THEN
528: errbuf := g_errbuf;
529: retcode := g_retcode;
530: g_exception_msg := retcode || ':' || errbuf;
531: ROLLBACK;
532: EDW_LOG.Put_Line('Other errors : '|| g_exception_msg);
533: RAISE;
534:
535:
536: END Populate;