112: commit;
113:
114: -- Bug 3196897: start:
115: l_time_str := fnd_date.Date_To_DisplayDT(sysdate, fnd_timezones.Get_Server_Timezone_Code);
116: fnd_message.set_name( 'EDR', 'EDR_PLS_IXE_BUILD_END' );
117: fnd_message.set_token( 'FINISH_TIME', l_time_str );
118: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
119:
120: -- note: fnd_profile.defined( NAME ) return false if profile exist with no value
113:
114: -- Bug 3196897: start:
115: l_time_str := fnd_date.Date_To_DisplayDT(sysdate, fnd_timezones.Get_Server_Timezone_Code);
116: fnd_message.set_name( 'EDR', 'EDR_PLS_IXE_BUILD_END' );
117: fnd_message.set_token( 'FINISH_TIME', l_time_str );
118: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
119:
120: -- note: fnd_profile.defined( NAME ) return false if profile exist with no value
121: -- note: if profile not exist, fnd_profile.Save() will fail and return false
114: -- Bug 3196897: start:
115: l_time_str := fnd_date.Date_To_DisplayDT(sysdate, fnd_timezones.Get_Server_Timezone_Code);
116: fnd_message.set_name( 'EDR', 'EDR_PLS_IXE_BUILD_END' );
117: fnd_message.set_token( 'FINISH_TIME', l_time_str );
118: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
119:
120: -- note: fnd_profile.defined( NAME ) return false if profile exist with no value
121: -- note: if profile not exist, fnd_profile.Save() will fail and return false
122: IF fnd_profile.Save( G_PROFILE_SYNC_TIME, l_time_str, 'SITE' ) THEN
121: -- note: if profile not exist, fnd_profile.Save() will fail and return false
122: IF fnd_profile.Save( G_PROFILE_SYNC_TIME, l_time_str, 'SITE' ) THEN
123: commit; -- need commit for the profile to take immediate effect
124: ELSE
125: fnd_message.set_name( 'EDR', 'EDR_GENERAL_UPDATE_FAIL' );
126: fnd_message.set_token( 'OBJECT_NAME', G_PROFILE_SYNC_TIME );
127: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
128: END IF;
129: -- Bug 3196897: end:
122: IF fnd_profile.Save( G_PROFILE_SYNC_TIME, l_time_str, 'SITE' ) THEN
123: commit; -- need commit for the profile to take immediate effect
124: ELSE
125: fnd_message.set_name( 'EDR', 'EDR_GENERAL_UPDATE_FAIL' );
126: fnd_message.set_token( 'OBJECT_NAME', G_PROFILE_SYNC_TIME );
127: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
128: END IF;
129: -- Bug 3196897: end:
130:
123: commit; -- need commit for the profile to take immediate effect
124: ELSE
125: fnd_message.set_name( 'EDR', 'EDR_GENERAL_UPDATE_FAIL' );
126: fnd_message.set_token( 'OBJECT_NAME', G_PROFILE_SYNC_TIME );
127: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
128: END IF;
129: -- Bug 3196897: end:
130:
131: exception
151: l_time_str varchar2(30);
152:
153: BEGIN
154:
155: fnd_message.set_name('EDR', 'EDR_PLS_IXE_SYNC_START');
156: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
157: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
158:
159: ctx_ddl.sync_index ( 'EDR_PSIG_TEXTINDEX' );
152:
153: BEGIN
154:
155: fnd_message.set_name('EDR', 'EDR_PLS_IXE_SYNC_START');
156: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
157: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
158:
159: ctx_ddl.sync_index ( 'EDR_PSIG_TEXTINDEX' );
160:
153: BEGIN
154:
155: fnd_message.set_name('EDR', 'EDR_PLS_IXE_SYNC_START');
156: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
157: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
158:
159: ctx_ddl.sync_index ( 'EDR_PSIG_TEXTINDEX' );
160:
161: -- Bug 3196897: start:
159: ctx_ddl.sync_index ( 'EDR_PSIG_TEXTINDEX' );
160:
161: -- Bug 3196897: start:
162: l_time_str := fnd_date.Date_To_DisplayDT(sysdate, fnd_timezones.Get_Server_Timezone_Code);
163: fnd_message.set_name( 'EDR', 'EDR_PLS_IXE_SYNC_END' );
164: fnd_message.set_token( 'FINISH_TIME', l_time_str );
165: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
166:
167: -- note: fnd_profile.defined( NAME ) return false if profile exist with no value
160:
161: -- Bug 3196897: start:
162: l_time_str := fnd_date.Date_To_DisplayDT(sysdate, fnd_timezones.Get_Server_Timezone_Code);
163: fnd_message.set_name( 'EDR', 'EDR_PLS_IXE_SYNC_END' );
164: fnd_message.set_token( 'FINISH_TIME', l_time_str );
165: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
166:
167: -- note: fnd_profile.defined( NAME ) return false if profile exist with no value
168: -- note: if profile not exist, fnd_profile.Save() will fail and return false
161: -- Bug 3196897: start:
162: l_time_str := fnd_date.Date_To_DisplayDT(sysdate, fnd_timezones.Get_Server_Timezone_Code);
163: fnd_message.set_name( 'EDR', 'EDR_PLS_IXE_SYNC_END' );
164: fnd_message.set_token( 'FINISH_TIME', l_time_str );
165: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
166:
167: -- note: fnd_profile.defined( NAME ) return false if profile exist with no value
168: -- note: if profile not exist, fnd_profile.Save() will fail and return false
169: IF fnd_profile.Save( G_PROFILE_SYNC_TIME, l_time_str, 'SITE' ) THEN
168: -- note: if profile not exist, fnd_profile.Save() will fail and return false
169: IF fnd_profile.Save( G_PROFILE_SYNC_TIME, l_time_str, 'SITE' ) THEN
170: commit; -- need commit to take immediate effect
171: ELSE
172: fnd_message.set_name( 'EDR', 'EDR_GENERAL_UPDATE_FAIL' );
173: fnd_message.set_token( 'OBJECT_NAME', G_PROFILE_SYNC_TIME );
174: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
175: END IF;
176: -- Bug 3196897: end:
169: IF fnd_profile.Save( G_PROFILE_SYNC_TIME, l_time_str, 'SITE' ) THEN
170: commit; -- need commit to take immediate effect
171: ELSE
172: fnd_message.set_name( 'EDR', 'EDR_GENERAL_UPDATE_FAIL' );
173: fnd_message.set_token( 'OBJECT_NAME', G_PROFILE_SYNC_TIME );
174: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
175: END IF;
176: -- Bug 3196897: end:
177:
170: commit; -- need commit to take immediate effect
171: ELSE
172: fnd_message.set_name( 'EDR', 'EDR_GENERAL_UPDATE_FAIL' );
173: fnd_message.set_token( 'OBJECT_NAME', G_PROFILE_SYNC_TIME );
174: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
175: END IF;
176: -- Bug 3196897: end:
177:
178: EXCEPTION
202: -- check the valid parameter for optimization level
203: IF p_optimize_level is null THEN
204: l_opt_level := ctx_ddl.optlevel_full;
205: ELSIF upper(p_optimize_level) not in ('FAST','FULL') then
206: fnd_message.set_name( 'EDR', 'EDR_PLS_PARAM_INVALID' );
207: fnd_message.set_token( 'PLSPROC', 'EDR_INDEXED_XML_UTIL.Optimize_Index' );
208: fnd_message.set_token( 'PARAM', 'p_optimize_level' );
209: fnd_message.set_token( 'VALUE', p_optimize_level );
210: raise_application_error(-20000, fnd_message.get);
203: IF p_optimize_level is null THEN
204: l_opt_level := ctx_ddl.optlevel_full;
205: ELSIF upper(p_optimize_level) not in ('FAST','FULL') then
206: fnd_message.set_name( 'EDR', 'EDR_PLS_PARAM_INVALID' );
207: fnd_message.set_token( 'PLSPROC', 'EDR_INDEXED_XML_UTIL.Optimize_Index' );
208: fnd_message.set_token( 'PARAM', 'p_optimize_level' );
209: fnd_message.set_token( 'VALUE', p_optimize_level );
210: raise_application_error(-20000, fnd_message.get);
211: ELSE l_opt_level := p_optimize_level;
204: l_opt_level := ctx_ddl.optlevel_full;
205: ELSIF upper(p_optimize_level) not in ('FAST','FULL') then
206: fnd_message.set_name( 'EDR', 'EDR_PLS_PARAM_INVALID' );
207: fnd_message.set_token( 'PLSPROC', 'EDR_INDEXED_XML_UTIL.Optimize_Index' );
208: fnd_message.set_token( 'PARAM', 'p_optimize_level' );
209: fnd_message.set_token( 'VALUE', p_optimize_level );
210: raise_application_error(-20000, fnd_message.get);
211: ELSE l_opt_level := p_optimize_level;
212: END IF;
205: ELSIF upper(p_optimize_level) not in ('FAST','FULL') then
206: fnd_message.set_name( 'EDR', 'EDR_PLS_PARAM_INVALID' );
207: fnd_message.set_token( 'PLSPROC', 'EDR_INDEXED_XML_UTIL.Optimize_Index' );
208: fnd_message.set_token( 'PARAM', 'p_optimize_level' );
209: fnd_message.set_token( 'VALUE', p_optimize_level );
210: raise_application_error(-20000, fnd_message.get);
211: ELSE l_opt_level := p_optimize_level;
212: END IF;
213: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_LEVEL');
206: fnd_message.set_name( 'EDR', 'EDR_PLS_PARAM_INVALID' );
207: fnd_message.set_token( 'PLSPROC', 'EDR_INDEXED_XML_UTIL.Optimize_Index' );
208: fnd_message.set_token( 'PARAM', 'p_optimize_level' );
209: fnd_message.set_token( 'VALUE', p_optimize_level );
210: raise_application_error(-20000, fnd_message.get);
211: ELSE l_opt_level := p_optimize_level;
212: END IF;
213: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_LEVEL');
214: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
209: fnd_message.set_token( 'VALUE', p_optimize_level );
210: raise_application_error(-20000, fnd_message.get);
211: ELSE l_opt_level := p_optimize_level;
212: END IF;
213: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_LEVEL');
214: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
215: fnd_message.set_token('IXE_OPT_LEVEL', l_opt_level );
216: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
217:
210: raise_application_error(-20000, fnd_message.get);
211: ELSE l_opt_level := p_optimize_level;
212: END IF;
213: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_LEVEL');
214: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
215: fnd_message.set_token('IXE_OPT_LEVEL', l_opt_level );
216: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
217:
218: -- check the valid parameter for the time spent in each running of optimization
211: ELSE l_opt_level := p_optimize_level;
212: END IF;
213: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_LEVEL');
214: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
215: fnd_message.set_token('IXE_OPT_LEVEL', l_opt_level );
216: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
217:
218: -- check the valid parameter for the time spent in each running of optimization
219: IF p_duration is null THEN
212: END IF;
213: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_LEVEL');
214: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
215: fnd_message.set_token('IXE_OPT_LEVEL', l_opt_level );
216: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
217:
218: -- check the valid parameter for the time spent in each running of optimization
219: IF p_duration is null THEN
220: l_maxtime := ctx_ddl.maxtime_unlimited;
220: l_maxtime := ctx_ddl.maxtime_unlimited;
221: ELSE
222: IF trunc(p_duration) <> p_duration or p_duration < 0
223: or p_duration > ctx_ddl.maxtime_unlimited THEN
224: fnd_message.set_name( 'EDR', 'EDR_PLS_PARAM_INVALID' );
225: fnd_message.set_token( 'PLSPROC', 'EDR_INDEXED_XML_UTIL.Optimize_Index' );
226: fnd_message.set_token( 'PARAM', 'p_duration' );
227: fnd_message.set_token( 'VALUE', p_duration );
228: Raise_application_error(-20000, fnd_message.get);
221: ELSE
222: IF trunc(p_duration) <> p_duration or p_duration < 0
223: or p_duration > ctx_ddl.maxtime_unlimited THEN
224: fnd_message.set_name( 'EDR', 'EDR_PLS_PARAM_INVALID' );
225: fnd_message.set_token( 'PLSPROC', 'EDR_INDEXED_XML_UTIL.Optimize_Index' );
226: fnd_message.set_token( 'PARAM', 'p_duration' );
227: fnd_message.set_token( 'VALUE', p_duration );
228: Raise_application_error(-20000, fnd_message.get);
229: END IF;
222: IF trunc(p_duration) <> p_duration or p_duration < 0
223: or p_duration > ctx_ddl.maxtime_unlimited THEN
224: fnd_message.set_name( 'EDR', 'EDR_PLS_PARAM_INVALID' );
225: fnd_message.set_token( 'PLSPROC', 'EDR_INDEXED_XML_UTIL.Optimize_Index' );
226: fnd_message.set_token( 'PARAM', 'p_duration' );
227: fnd_message.set_token( 'VALUE', p_duration );
228: Raise_application_error(-20000, fnd_message.get);
229: END IF;
230: END IF;
223: or p_duration > ctx_ddl.maxtime_unlimited THEN
224: fnd_message.set_name( 'EDR', 'EDR_PLS_PARAM_INVALID' );
225: fnd_message.set_token( 'PLSPROC', 'EDR_INDEXED_XML_UTIL.Optimize_Index' );
226: fnd_message.set_token( 'PARAM', 'p_duration' );
227: fnd_message.set_token( 'VALUE', p_duration );
228: Raise_application_error(-20000, fnd_message.get);
229: END IF;
230: END IF;
231:
224: fnd_message.set_name( 'EDR', 'EDR_PLS_PARAM_INVALID' );
225: fnd_message.set_token( 'PLSPROC', 'EDR_INDEXED_XML_UTIL.Optimize_Index' );
226: fnd_message.set_token( 'PARAM', 'p_duration' );
227: fnd_message.set_token( 'VALUE', p_duration );
228: Raise_application_error(-20000, fnd_message.get);
229: END IF;
230: END IF;
231:
232: IF p_optimize_level = 'FAST' THEN
238: l_maxtime := trunc( p_duration );
239: END IF;
240: END IF;
241: IF l_maxtime is not null THEN
242: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_TIME');
243: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
244: fnd_message.set_token('IXE_OPT_TIME', l_maxtime );
245: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
246: END IF;
239: END IF;
240: END IF;
241: IF l_maxtime is not null THEN
242: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_TIME');
243: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
244: fnd_message.set_token('IXE_OPT_TIME', l_maxtime );
245: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
246: END IF;
247:
240: END IF;
241: IF l_maxtime is not null THEN
242: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_TIME');
243: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
244: fnd_message.set_token('IXE_OPT_TIME', l_maxtime );
245: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
246: END IF;
247:
248: ctx_ddl.optimize_index( 'EDR_PSIG_TEXTINDEX', l_opt_level, l_maxtime );
241: IF l_maxtime is not null THEN
242: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_TIME');
243: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
244: fnd_message.set_token('IXE_OPT_TIME', l_maxtime );
245: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
246: END IF;
247:
248: ctx_ddl.optimize_index( 'EDR_PSIG_TEXTINDEX', l_opt_level, l_maxtime );
249: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_END');
245: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
246: END IF;
247:
248: ctx_ddl.optimize_index( 'EDR_PSIG_TEXTINDEX', l_opt_level, l_maxtime );
249: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_END');
250: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
251: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
252:
253: EXCEPTION
246: END IF;
247:
248: ctx_ddl.optimize_index( 'EDR_PSIG_TEXTINDEX', l_opt_level, l_maxtime );
249: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_END');
250: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
251: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
252:
253: EXCEPTION
254: when others then
247:
248: ctx_ddl.optimize_index( 'EDR_PSIG_TEXTINDEX', l_opt_level, l_maxtime );
249: fnd_message.set_name('EDR', 'EDR_PLS_IXE_OPTIM_END');
250: fnd_message.set_token('XML_INDEX', 'EDR_PSIG_TEXTINDEX');
251: fnd_file.put_line( FND_FILE.LOG, fnd_message.get );
252:
253: EXCEPTION
254: when others then
255: errbuf := substr(sqlerrm, 1, 240);