27: -- set the canonical start data and stop date of the data seto
28: l_start_date := trunc(fnd_date.canonical_to_date(p_start_date));
29: l_stop_date := trunc(fnd_date.canonical_to_date(p_stop_date)) + 1 - (1 / (24 * 60 * 60));
30:
31: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
32: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || p_data_set_name);
33: fnd_file.put_line(fnd_file.LOG,'--- >Description :' || p_description);
34: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Start Date :' || l_start_date);
35: fnd_file.put_line(fnd_file.LOG,'--- >Data Set End Date :' || l_stop_date);
28: l_start_date := trunc(fnd_date.canonical_to_date(p_start_date));
29: l_stop_date := trunc(fnd_date.canonical_to_date(p_stop_date)) + 1 - (1 / (24 * 60 * 60));
30:
31: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
32: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || p_data_set_name);
33: fnd_file.put_line(fnd_file.LOG,'--- >Description :' || p_description);
34: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Start Date :' || l_start_date);
35: fnd_file.put_line(fnd_file.LOG,'--- >Data Set End Date :' || l_stop_date);
36:
29: l_stop_date := trunc(fnd_date.canonical_to_date(p_stop_date)) + 1 - (1 / (24 * 60 * 60));
30:
31: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
32: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || p_data_set_name);
33: fnd_file.put_line(fnd_file.LOG,'--- >Description :' || p_description);
34: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Start Date :' || l_start_date);
35: fnd_file.put_line(fnd_file.LOG,'--- >Data Set End Date :' || l_stop_date);
36:
37: -- check if the range of the data set does not overlap with an existing data set.
30:
31: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
32: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || p_data_set_name);
33: fnd_file.put_line(fnd_file.LOG,'--- >Description :' || p_description);
34: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Start Date :' || l_start_date);
35: fnd_file.put_line(fnd_file.LOG,'--- >Data Set End Date :' || l_stop_date);
36:
37: -- check if the range of the data set does not overlap with an existing data set.
38: -- if it does we stop the process
31: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
32: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || p_data_set_name);
33: fnd_file.put_line(fnd_file.LOG,'--- >Description :' || p_description);
34: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Start Date :' || l_start_date);
35: fnd_file.put_line(fnd_file.LOG,'--- >Data Set End Date :' || l_stop_date);
36:
37: -- check if the range of the data set does not overlap with an existing data set.
38: -- if it does we stop the process
39: fnd_file.put_line(fnd_file.LOG,'--- >Before validating Data Set range and unique name');
35: fnd_file.put_line(fnd_file.LOG,'--- >Data Set End Date :' || l_stop_date);
36:
37: -- check if the range of the data set does not overlap with an existing data set.
38: -- if it does we stop the process
39: fnd_file.put_line(fnd_file.LOG,'--- >Before validating Data Set range and unique name');
40:
41: IF NOT (hxc_data_set.validate_data_set_range(
42: p_data_set_name => p_data_set_name,
43: p_start_date => l_start_date,
45: retcode := 2;
46: return;
47: END IF;
48:
49: fnd_file.put_line(fnd_file.LOG,'--- >Before inserting the record into HXC_DATA_SETS table');
50: --
51: -- insert into the data set.
52: --
53: hxc_data_set.insert_into_data_set(l_data_set_id,
56: l_start_date,
57: l_stop_date,
58: 'MARKING_IN_PROGRESS');
59:
60: fnd_file.put_line(fnd_file.LOG,'--- > New Data Set id is: '||l_data_set_id);
61:
62: hxc_data_set.show_data_set;
63:
64: fnd_file.put_line(fnd_file.LOG,'--- > Marking the tables with the data set');
60: fnd_file.put_line(fnd_file.LOG,'--- > New Data Set id is: '||l_data_set_id);
61:
62: hxc_data_set.show_data_set;
63:
64: fnd_file.put_line(fnd_file.LOG,'--- > Marking the tables with the data set');
65:
66: --
67: -- Mark the tables with the data set
68: --
75: update hxc_data_sets
76: set status = 'ON_LINE'
77: where data_set_id = l_data_set_id;
78:
79: fnd_file.put_line(fnd_file.LOG,'--- > End process ');
80:
81:
82: EXCEPTION
83: WHEN OTHERS THEN
80:
81:
82: EXCEPTION
83: WHEN OTHERS THEN
84: fnd_file.put_line(fnd_file.LOG,'Define Data Set process failed because of :'||sqlerrm);
85: fnd_file.put_line(fnd_file.LOG,'Define Data Set process failed because of :'||sqlerrm);
86:
87: ROLLBACK;
88: retcode := 2;
81:
82: EXCEPTION
83: WHEN OTHERS THEN
84: fnd_file.put_line(fnd_file.LOG,'Define Data Set process failed because of :'||sqlerrm);
85: fnd_file.put_line(fnd_file.LOG,'Define Data Set process failed because of :'||sqlerrm);
86:
87: ROLLBACK;
88: retcode := 2;
89:
133: --
134: IF NOT(l_found_data_set) THEN
135: --error
136: retcode := 2;
137: fnd_file.put_line
138: (fnd_file.LOG,'--- >Data Set Not Found');
139: RETURN;
140: END IF;
141:
134: IF NOT(l_found_data_set) THEN
135: --error
136: retcode := 2;
137: fnd_file.put_line
138: (fnd_file.LOG,'--- >Data Set Not Found');
139: RETURN;
140: END IF;
141:
142: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
138: (fnd_file.LOG,'--- >Data Set Not Found');
139: RETURN;
140: END IF;
141:
142: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
143: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Id :' || p_data_set_id);
144: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
145: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_status);
146:
139: RETURN;
140: END IF;
141:
142: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
143: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Id :' || p_data_set_id);
144: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
145: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_status);
146:
147: -- if the status is different of online I cannot undo the data set
140: END IF;
141:
142: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
143: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Id :' || p_data_set_id);
144: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
145: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_status);
146:
147: -- if the status is different of online I cannot undo the data set
148: IF l_status not in ('ON_LINE','MARKING_IN_PROGRESS') THEN
141:
142: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
143: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Id :' || p_data_set_id);
144: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
145: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_status);
146:
147: -- if the status is different of online I cannot undo the data set
148: IF l_status not in ('ON_LINE','MARKING_IN_PROGRESS') THEN
149: --error
147: -- if the status is different of online I cannot undo the data set
148: IF l_status not in ('ON_LINE','MARKING_IN_PROGRESS') THEN
149: --error
150: retcode := 2;
151: fnd_file.put_line
152: (fnd_file.LOG,'--- >Data Set needs to be in ON_LINE status for Undo Define Data Set process');
153: RETURN;
154: END IF;
155:
148: IF l_status not in ('ON_LINE','MARKING_IN_PROGRESS') THEN
149: --error
150: retcode := 2;
151: fnd_file.put_line
152: (fnd_file.LOG,'--- >Data Set needs to be in ON_LINE status for Undo Define Data Set process');
153: RETURN;
154: END IF;
155:
156: --
160:
161:
162: EXCEPTION
163: WHEN others THEN
164: fnd_file.put_line
165: (fnd_file.LOG,'--- >Undo Define Data Set failed because of following error: '||sqlerrm);
166: ROLLBACK;
167: retcode := 2;
168: END undo_define_data_set;
161:
162: EXCEPTION
163: WHEN others THEN
164: fnd_file.put_line
165: (fnd_file.LOG,'--- >Undo Define Data Set failed because of following error: '||sqlerrm);
166: ROLLBACK;
167: retcode := 2;
168: END undo_define_data_set;
169:
199:
200: --Set in error if it fails because of some process related problems.
201: fnd_message.set_name('HXC', 'HXC_VALIDATE_PROCESS_FAIL');
202: fnd_message.set_token('ERR',SQLERRM );
203: fnd_file.put_line(fnd_file.LOG,fnd_message.get);
204: rollback;
205: retcode := 2;
206:
207: END validate_data_set;
309: --
310: IF NOT(l_found_data_set) THEN
311: --error
312: retcode := 2;
313: fnd_file.put_line(fnd_file.LOG,'--- >Data Set not found');
314: RETURN;
315:
316: END IF;
317:
317:
318:
319: IF hxc_archive_restore_utils.incompatibility_pg_running
320: THEN
321: fnd_file.put_line(fnd_file.LOG,'Detected another Archive/Restore or Consolidation Attributes process(es) running.');
322: retcode := 2;
323: RETURN;
324: END IF;
325:
323: RETURN;
324: END IF;
325:
326:
327: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
328: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Id :' || p_data_set_id);
329: fnd_file.put_line(fnd_file.LOG,'--- >Ignore Validation Errors Flag :' || p_ignore_errors);
330: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
331: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_current_status);
324: END IF;
325:
326:
327: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
328: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Id :' || p_data_set_id);
329: fnd_file.put_line(fnd_file.LOG,'--- >Ignore Validation Errors Flag :' || p_ignore_errors);
330: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
331: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_current_status);
332: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Validation Status :' || l_validation_status);
325:
326:
327: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
328: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Id :' || p_data_set_id);
329: fnd_file.put_line(fnd_file.LOG,'--- >Ignore Validation Errors Flag :' || p_ignore_errors);
330: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
331: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_current_status);
332: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Validation Status :' || l_validation_status);
333:
326:
327: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
328: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Id :' || p_data_set_id);
329: fnd_file.put_line(fnd_file.LOG,'--- >Ignore Validation Errors Flag :' || p_ignore_errors);
330: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
331: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_current_status);
332: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Validation Status :' || l_validation_status);
333:
334: ----------------------------------------------------------------------------
327: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
328: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Id :' || p_data_set_id);
329: fnd_file.put_line(fnd_file.LOG,'--- >Ignore Validation Errors Flag :' || p_ignore_errors);
330: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
331: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_current_status);
332: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Validation Status :' || l_validation_status);
333:
334: ----------------------------------------------------------------------------
335: -- Question : How do we determine if the archive process is being rerun ?
328: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Id :' || p_data_set_id);
329: fnd_file.put_line(fnd_file.LOG,'--- >Ignore Validation Errors Flag :' || p_ignore_errors);
330: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
331: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_current_status);
332: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Validation Status :' || l_validation_status);
333:
334: ----------------------------------------------------------------------------
335: -- Question : How do we determine if the archive process is being rerun ?
336: -- Answer : If the data set status is BACKUP_IN_PROGRESS, then it means
343: -- Validate the data set for archiving
344: IF l_current_status in ('OFF_LINE','RESTORE_IN_PROGRESS')
345: THEN
346:
347: fnd_file.put_line(fnd_file.LOG,'--- >Data Set is currently in '||l_current_status||' status. Data Set can be'||
348: ' archived only if the data set status is ON_LINE or BACKUP_IN_PROGRESS ');
349: retcode := 2;
350: RETURN;
351:
358:
359: l_data_set_age := months_between(trunc(sysdate),trunc(l_data_set_end_date));
360: l_min_data_set_age := nvl(fnd_profile.value('HXC_ARCHIVE_DATA_SET_MIN_AGE'),6);
361:
362: fnd_file.put_line(fnd_file.LOG,'--- >Profile Value for minimum age value is: '||l_min_data_set_age);
363:
364: IF (l_data_set_age < 0)
365: THEN
366:
363:
364: IF (l_data_set_age < 0)
365: THEN
366:
367: fnd_file.put_line(fnd_file.LOG,'--- >The Data Set '||l_data_set_name||' extends into the future.');
368: fnd_file.put_line(fnd_file.LOG,'--- >Hence the Data Set cannot be archived.');
369: retcode := 2;
370: RETURN;
371:
364: IF (l_data_set_age < 0)
365: THEN
366:
367: fnd_file.put_line(fnd_file.LOG,'--- >The Data Set '||l_data_set_name||' extends into the future.');
368: fnd_file.put_line(fnd_file.LOG,'--- >Hence the Data Set cannot be archived.');
369: retcode := 2;
370: RETURN;
371:
372: ELSIF (l_data_set_age < 6 and l_min_data_set_age is null)
371:
372: ELSIF (l_data_set_age < 6 and l_min_data_set_age is null)
373: THEN
374:
375: fnd_file.put_line(fnd_file.LOG,'--- >The age of the Data Set '||l_data_set_name||' is '||round(l_data_set_age,3)||' months, which is less than 6 months');
376: fnd_file.put_line(fnd_file.LOG,'--- >Hence the Data Set cannot be archived.');
377: retcode := 2;
378: RETURN;
379:
372: ELSIF (l_data_set_age < 6 and l_min_data_set_age is null)
373: THEN
374:
375: fnd_file.put_line(fnd_file.LOG,'--- >The age of the Data Set '||l_data_set_name||' is '||round(l_data_set_age,3)||' months, which is less than 6 months');
376: fnd_file.put_line(fnd_file.LOG,'--- >Hence the Data Set cannot be archived.');
377: retcode := 2;
378: RETURN;
379:
380: ELSIF (l_min_data_set_age is not null and l_data_set_age < l_min_data_set_age)
379:
380: ELSIF (l_min_data_set_age is not null and l_data_set_age < l_min_data_set_age)
381: THEN
382:
383: fnd_file.put_line(fnd_file.LOG,'--- >The profile option OTL: Minimum age of Data Set for archiving has been set to the value '||l_min_data_set_age||'.');
384: fnd_file.put_line(fnd_file.LOG,'--- >The age of the Data Set '||l_data_set_name||' is '||round(l_data_set_age,3)||' months, which is less than '|| l_min_data_set_age||' months.');
385: fnd_file.put_line(fnd_file.LOG,'--- >Hence the Data Set cannot be archived.');
386: retcode := 2;
387: RETURN;
380: ELSIF (l_min_data_set_age is not null and l_data_set_age < l_min_data_set_age)
381: THEN
382:
383: fnd_file.put_line(fnd_file.LOG,'--- >The profile option OTL: Minimum age of Data Set for archiving has been set to the value '||l_min_data_set_age||'.');
384: fnd_file.put_line(fnd_file.LOG,'--- >The age of the Data Set '||l_data_set_name||' is '||round(l_data_set_age,3)||' months, which is less than '|| l_min_data_set_age||' months.');
385: fnd_file.put_line(fnd_file.LOG,'--- >Hence the Data Set cannot be archived.');
386: retcode := 2;
387: RETURN;
388:
381: THEN
382:
383: fnd_file.put_line(fnd_file.LOG,'--- >The profile option OTL: Minimum age of Data Set for archiving has been set to the value '||l_min_data_set_age||'.');
384: fnd_file.put_line(fnd_file.LOG,'--- >The age of the Data Set '||l_data_set_name||' is '||round(l_data_set_age,3)||' months, which is less than '|| l_min_data_set_age||' months.');
385: fnd_file.put_line(fnd_file.LOG,'--- >Hence the Data Set cannot be archived.');
386: retcode := 2;
387: RETURN;
388:
389: END IF;
391: /********* THAT SHOULD BE DONE DURING THE DATA SET VALIDATION *********/
392: /*
393: if hxc_archive_restore_utils.check_data_corruption(p_data_set_id) then
394:
395: fnd_file.put_line(fnd_file.LOG,'--- >Data Corruption observed before beginning to Archive the data set');
396: retcode := 2;
397: return;
398:
399: end if;
410:
411: IF l_validation_status IS NULL
412: THEN
413: -- error...force user to run validation atleast once
414: fnd_file.put_line(fnd_file.LOG,'--- >Please run the Validate Data Set Process at least once');
415: retcode := 2;
416: RETURN;
417:
418: ELSIF (l_validation_status = 'E' AND p_ignore_errors = 'N')
417:
418: ELSIF (l_validation_status = 'E' AND p_ignore_errors = 'N')
419: THEN
420: --error.....ask user to correct all errors and then run archive
421: fnd_file.put_line(fnd_file.LOG,'--- >The Validate Data Set process has reported warnings.'
422: ||' Either correct those warnings or set the Ignore Validation Warnings flag to Y.');
423: retcode := 2;
424: RETURN;
425:
424: RETURN;
425:
426: END IF;
427:
428: --fnd_file.put_line(fnd_file.LOG,'--- >Before populating the hxc_data_set_details table with table counts');
429: --hxc_archive_restore_utils.populate_hxc_data_set_details(p_data_set_id);
430: END IF;
431:
432:
504:
505:
506: IF check_data_mismatch
507: THEN
508: fnd_file.put_line(fnd_file.log,' ');
509: fnd_file.put_line(fnd_file.log,' Data mismatch reported in the threads. Correct the data ');
510: fnd_file.put_line(fnd_file.log,' You wont be able to Restore this Data again until you Archive it completely.');
511: fnd_file.put_line(fnd_file.log,' ');
512: retcode := 2;
505:
506: IF check_data_mismatch
507: THEN
508: fnd_file.put_line(fnd_file.log,' ');
509: fnd_file.put_line(fnd_file.log,' Data mismatch reported in the threads. Correct the data ');
510: fnd_file.put_line(fnd_file.log,' You wont be able to Restore this Data again until you Archive it completely.');
511: fnd_file.put_line(fnd_file.log,' ');
512: retcode := 2;
513: RETURN;
506: IF check_data_mismatch
507: THEN
508: fnd_file.put_line(fnd_file.log,' ');
509: fnd_file.put_line(fnd_file.log,' Data mismatch reported in the threads. Correct the data ');
510: fnd_file.put_line(fnd_file.log,' You wont be able to Restore this Data again until you Archive it completely.');
511: fnd_file.put_line(fnd_file.log,' ');
512: retcode := 2;
513: RETURN;
514: END IF;
507: THEN
508: fnd_file.put_line(fnd_file.log,' ');
509: fnd_file.put_line(fnd_file.log,' Data mismatch reported in the threads. Correct the data ');
510: fnd_file.put_line(fnd_file.log,' You wont be able to Restore this Data again until you Archive it completely.');
511: fnd_file.put_line(fnd_file.log,' ');
512: retcode := 2;
513: RETURN;
514: END IF;
515:
582: retcode => retcode);
583:
584: IF retcode <> 2 THEN
585: */
586: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
587: fnd_file.put_line(fnd_file.LOG,'---------------------- ARCHIVE COMPLETE ---------------------');
588: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
589: /*
590: ELSE
583:
584: IF retcode <> 2 THEN
585: */
586: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
587: fnd_file.put_line(fnd_file.LOG,'---------------------- ARCHIVE COMPLETE ---------------------');
588: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
589: /*
590: ELSE
591: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
584: IF retcode <> 2 THEN
585: */
586: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
587: fnd_file.put_line(fnd_file.LOG,'---------------------- ARCHIVE COMPLETE ---------------------');
588: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
589: /*
590: ELSE
591: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
592: fnd_file.put_line(fnd_file.LOG,'-------------------- ARCHIVE INCOMPLETE ---------------------');
587: fnd_file.put_line(fnd_file.LOG,'---------------------- ARCHIVE COMPLETE ---------------------');
588: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
589: /*
590: ELSE
591: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
592: fnd_file.put_line(fnd_file.LOG,'-------------------- ARCHIVE INCOMPLETE ---------------------');
593: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
594: END IF;
595: */
588: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
589: /*
590: ELSE
591: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
592: fnd_file.put_line(fnd_file.LOG,'-------------------- ARCHIVE INCOMPLETE ---------------------');
593: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
594: END IF;
595: */
596: EXCEPTION
589: /*
590: ELSE
591: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
592: fnd_file.put_line(fnd_file.LOG,'-------------------- ARCHIVE INCOMPLETE ---------------------');
593: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
594: END IF;
595: */
596: EXCEPTION
597:
595: */
596: EXCEPTION
597:
598: WHEN e_chunk_count THEN
599: fnd_file.put_line(fnd_file.LOG,'=== > WRONG COUNT IN THE CHUNK');
600: hxc_data_set.release_lock_data_set(p_data_set_id);
601: ROLLBACK;
602: retcode := 2;
603:
690: p_status => l_current_status,
691: p_validation_status => l_validation_status,
692: p_found_data_set => l_found_data_set);
693:
694: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
695: fnd_file.put_line(fnd_file.LOG,'--- >Data Set id :' || p_data_set_id);
696: fnd_file.put_line(fnd_file.LOG,'--- >Other Information:');
697: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
698: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_current_status);
691: p_validation_status => l_validation_status,
692: p_found_data_set => l_found_data_set);
693:
694: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
695: fnd_file.put_line(fnd_file.LOG,'--- >Data Set id :' || p_data_set_id);
696: fnd_file.put_line(fnd_file.LOG,'--- >Other Information:');
697: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
698: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_current_status);
699:
692: p_found_data_set => l_found_data_set);
693:
694: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
695: fnd_file.put_line(fnd_file.LOG,'--- >Data Set id :' || p_data_set_id);
696: fnd_file.put_line(fnd_file.LOG,'--- >Other Information:');
697: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
698: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_current_status);
699:
700:
693:
694: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
695: fnd_file.put_line(fnd_file.LOG,'--- >Data Set id :' || p_data_set_id);
696: fnd_file.put_line(fnd_file.LOG,'--- >Other Information:');
697: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
698: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_current_status);
699:
700:
701: --
694: fnd_file.put_line(fnd_file.LOG,'--- >Parameters:');
695: fnd_file.put_line(fnd_file.LOG,'--- >Data Set id :' || p_data_set_id);
696: fnd_file.put_line(fnd_file.LOG,'--- >Other Information:');
697: fnd_file.put_line(fnd_file.LOG,'--- >Data Set Name :' || l_data_set_name);
698: --fnd_file.put_line(fnd_file.LOG,'--- >Data Set Status :' || l_current_status);
699:
700:
701: --
702: -- if the data set is not found
704: --
705: IF NOT(l_found_data_set) THEN
706: --error
707: retcode := 2;
708: fnd_file.put_line(fnd_file.LOG,'--- >Data Set not found');
709: RETURN;
710:
711: END IF;
712:
712:
713:
714: IF l_current_status IN ('ON_LINE','BACKUP_IN_PROGRESS')
715: THEN
716: fnd_file.put_line(fnd_file.LOG,'--- >Data Set is currently in '||l_current_status||' status. Data Set can be'||
717: ' restored only if the data set status is OFF_LINE or RESTORE_IN_PROGRESS ');
718: retcode := 2;
719: RETURN;
720: END IF;
723: -- let's check if there are no program that are running
724: -- and are incompatible with this one
725: IF hxc_archive_restore_utils.incompatibility_pg_running
726: THEN
727: fnd_file.put_line(fnd_file.LOG,'Detected another Archive/Restore or Consolidation Attributes process(es) running.');
728: retcode := 2;
729: RETURN;
730: END IF;
731:
772: -- If yes, error out issuing the message. It needs to be corrected first.
773:
774: IF check_null_data_set_id
775: THEN
776: fnd_file.put_line(fnd_file.log,' ');
777: fnd_file.put_line(fnd_file.log,'There are some data sets Archived before the new Multi-threaded Archive Process ');
778: fnd_file.put_line(fnd_file.log,'was implemented. Please follow the Metalink note available to update these data ');
779: fnd_file.put_line(fnd_file.log,'sets as per the new Multi-threaded architecture. ');
780: fnd_file.put_line(fnd_file.log,' ');
773:
774: IF check_null_data_set_id
775: THEN
776: fnd_file.put_line(fnd_file.log,' ');
777: fnd_file.put_line(fnd_file.log,'There are some data sets Archived before the new Multi-threaded Archive Process ');
778: fnd_file.put_line(fnd_file.log,'was implemented. Please follow the Metalink note available to update these data ');
779: fnd_file.put_line(fnd_file.log,'sets as per the new Multi-threaded architecture. ');
780: fnd_file.put_line(fnd_file.log,' ');
781: retcode := 2;
774: IF check_null_data_set_id
775: THEN
776: fnd_file.put_line(fnd_file.log,' ');
777: fnd_file.put_line(fnd_file.log,'There are some data sets Archived before the new Multi-threaded Archive Process ');
778: fnd_file.put_line(fnd_file.log,'was implemented. Please follow the Metalink note available to update these data ');
779: fnd_file.put_line(fnd_file.log,'sets as per the new Multi-threaded architecture. ');
780: fnd_file.put_line(fnd_file.log,' ');
781: retcode := 2;
782: RETURN;
775: THEN
776: fnd_file.put_line(fnd_file.log,' ');
777: fnd_file.put_line(fnd_file.log,'There are some data sets Archived before the new Multi-threaded Archive Process ');
778: fnd_file.put_line(fnd_file.log,'was implemented. Please follow the Metalink note available to update these data ');
779: fnd_file.put_line(fnd_file.log,'sets as per the new Multi-threaded architecture. ');
780: fnd_file.put_line(fnd_file.log,' ');
781: retcode := 2;
782: RETURN;
783: END IF;
776: fnd_file.put_line(fnd_file.log,' ');
777: fnd_file.put_line(fnd_file.log,'There are some data sets Archived before the new Multi-threaded Archive Process ');
778: fnd_file.put_line(fnd_file.log,'was implemented. Please follow the Metalink note available to update these data ');
779: fnd_file.put_line(fnd_file.log,'sets as per the new Multi-threaded architecture. ');
780: fnd_file.put_line(fnd_file.log,' ');
781: retcode := 2;
782: RETURN;
783: END IF;
784:
792:
793:
794: IF check_data_mismatch
795: THEN
796: fnd_file.put_line(fnd_file.log,' ');
797: fnd_file.put_line(fnd_file.log,' Data mismatch reported in the threads. Correct the data ');
798: fnd_file.put_line(fnd_file.log,' You wont be able to Archive this Data again until you Restore it completely.');
799: fnd_file.put_line(fnd_file.log,' ');
800: retcode := 2;
793:
794: IF check_data_mismatch
795: THEN
796: fnd_file.put_line(fnd_file.log,' ');
797: fnd_file.put_line(fnd_file.log,' Data mismatch reported in the threads. Correct the data ');
798: fnd_file.put_line(fnd_file.log,' You wont be able to Archive this Data again until you Restore it completely.');
799: fnd_file.put_line(fnd_file.log,' ');
800: retcode := 2;
801: RETURN;
794: IF check_data_mismatch
795: THEN
796: fnd_file.put_line(fnd_file.log,' ');
797: fnd_file.put_line(fnd_file.log,' Data mismatch reported in the threads. Correct the data ');
798: fnd_file.put_line(fnd_file.log,' You wont be able to Archive this Data again until you Restore it completely.');
799: fnd_file.put_line(fnd_file.log,' ');
800: retcode := 2;
801: RETURN;
802: END IF;
795: THEN
796: fnd_file.put_line(fnd_file.log,' ');
797: fnd_file.put_line(fnd_file.log,' Data mismatch reported in the threads. Correct the data ');
798: fnd_file.put_line(fnd_file.log,' You wont be able to Archive this Data again until you Restore it completely.');
799: fnd_file.put_line(fnd_file.log,' ');
800: retcode := 2;
801: RETURN;
802: END IF;
803:
866: retcode => retcode);
867:
868: IF retcode <> 2 THEN
869: */
870: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
871: fnd_file.put_line(fnd_file.LOG,'---------------------- RESTORE COMPLETE ---------------------');
872: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
873: /*
874: ELSE
867:
868: IF retcode <> 2 THEN
869: */
870: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
871: fnd_file.put_line(fnd_file.LOG,'---------------------- RESTORE COMPLETE ---------------------');
872: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
873: /*
874: ELSE
875: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
868: IF retcode <> 2 THEN
869: */
870: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
871: fnd_file.put_line(fnd_file.LOG,'---------------------- RESTORE COMPLETE ---------------------');
872: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
873: /*
874: ELSE
875: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
876: fnd_file.put_line(fnd_file.LOG,'-------------------- RESTORE INCOMPLETE ---------------------');
871: fnd_file.put_line(fnd_file.LOG,'---------------------- RESTORE COMPLETE ---------------------');
872: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
873: /*
874: ELSE
875: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
876: fnd_file.put_line(fnd_file.LOG,'-------------------- RESTORE INCOMPLETE ---------------------');
877: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
878: END IF;
879:
872: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
873: /*
874: ELSE
875: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
876: fnd_file.put_line(fnd_file.LOG,'-------------------- RESTORE INCOMPLETE ---------------------');
877: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
878: END IF;
879:
880:
873: /*
874: ELSE
875: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
876: fnd_file.put_line(fnd_file.LOG,'-------------------- RESTORE INCOMPLETE ---------------------');
877: fnd_file.put_line(fnd_file.LOG,'--------------------------------------------------------------');
878: END IF;
879:
880:
881: IF NOT (hxc_archive_restore_utils.check_if_copy_successful
881: IF NOT (hxc_archive_restore_utils.check_if_copy_successful
882: (p_data_set_id,'RESTORE'))
883: THEN
884: --error
885: fnd_file.put_line(fnd_file.LOG,'--- >Copy failed');
886: retcode := 2;
887: ROLLBACK;
888: RETURN;
889: END IF;
892:
893: EXCEPTION
894:
895: WHEN e_chunk_count THEN
896: fnd_file.put_line(fnd_file.LOG,'=== > WRONG COUNT IN THE CHUNK');
897: ROLLBACK;
898: retcode := 2;
899:
900: