96: return counter;
97: end if;
98: begin
99: if start_finish = starting then
100: fnd_file.put_line(fnd_file.log, 'Pending rows before synchronization:');
101: elsif start_finish = finish then
102: fnd_file.put_line(fnd_file.log, 'Pending rows after synchronization:');
103: end if;
104: for pending in pending_rows
98: begin
99: if start_finish = starting then
100: fnd_file.put_line(fnd_file.log, 'Pending rows before synchronization:');
101: elsif start_finish = finish then
102: fnd_file.put_line(fnd_file.log, 'Pending rows after synchronization:');
103: end if;
104: for pending in pending_rows
105: loop
106: counter := counter + 1;
103: end if;
104: for pending in pending_rows
105: loop
106: counter := counter + 1;
107: fnd_file.put_line(fnd_file.log, ' row# '|| counter ||
108: ' time= '|| pending.time ||
109: ' article_id= '|| pending.art_id ||
110: ' article_version_id= '|| pending.ver_id ||
111: ' org_id= '|| pending.org_id ||
114: exception when others then
115: counter := 0;
116: end;
117: if start_finish = starting then
118: fnd_file.put_line(fnd_file.log, ' '|| counter ||' rows in pending state and should be synchronized');
119: elsif start_finish = finish then
120: fnd_file.put_line(fnd_file.log, ' '|| counter ||' rows in pending state after synchronization');
121: end if;
122: return counter;
116: end;
117: if start_finish = starting then
118: fnd_file.put_line(fnd_file.log, ' '|| counter ||' rows in pending state and should be synchronized');
119: elsif start_finish = finish then
120: fnd_file.put_line(fnd_file.log, ' '|| counter ||' rows in pending state after synchronization');
121: end if;
122: return counter;
123: end;
124:
139: END IF;
140:
141:
142: -- if counter > 0 then
143: fnd_file.put_line(fnd_file.log, 'Start synchronization ...');
144: sync;
145: fnd_file.put_line(fnd_file.log, 'Synchronization complete');
146:
147: IF FND_PROFILE.VALUE('AFLOG_ENABLED') = 'Y' THEN
141:
142: -- if counter > 0 then
143: fnd_file.put_line(fnd_file.log, 'Start synchronization ...');
144: sync;
145: fnd_file.put_line(fnd_file.log, 'Synchronization complete');
146:
147: IF FND_PROFILE.VALUE('AFLOG_ENABLED') = 'Y' THEN
148: counter := check_pending_rows(finish);
149: END IF;
149: END IF;
150:
151: dbms_application_info.set_session_longops( rindex, slno, null, request_id, 0, 1, 1);
152: /* else
153: fnd_file.put_line(fnd_file.log, 'Skipped synchronization (no pending rows)');
154:
155: dbms_application_info.set_session_longops( rindex, slno, null, request_id, 0, 0, 1);
156: end if;*/
157:
160: retcode := retcode_success;
161: exception when others then
162: retcode := retcode_error;
163: errbuf := substr(sqlerrm,1,200);
164: fnd_file.put_line(fnd_file.log, sqlerrm);
165: end;
166:
167: procedure optimize_ctx(errbuf out nocopy varchar2, retcode out nocopy varchar2)
168: as
180: errbuf := 'OKC_ARTICLES_CTX text index has been synchronized successfully';
181: exception when others then
182: retcode := retcode_error;
183: errbuf := substr(sqlerrm,1,200);
184: fnd_file.put_line(fnd_file.log, sqlerrm);
185: end;
186:
187: if retcode <> retcode_success then
188: fnd_file.put_line(fnd_file.log, 'ERROR: Synchronization failed (have to skip optimization)');
184: fnd_file.put_line(fnd_file.log, sqlerrm);
185: end;
186:
187: if retcode <> retcode_success then
188: fnd_file.put_line(fnd_file.log, 'ERROR: Synchronization failed (have to skip optimization)');
189: dbms_application_info.set_session_longops( rindex, slno, null, request_id, 0, 0, 2);
190: return;
191: end if;
192:
190: return;
191: end if;
192:
193: dbms_application_info.set_session_longops( rindex, slno, null, request_id, 0, 1, 2);
194: fnd_file.put_line(fnd_file.log, 'Start optimization ...');
195: optimize;
196:
197: dbms_application_info.set_session_longops( rindex, slno, null, request_id, 0, 2, 2);
198: fnd_file.put_line(fnd_file.log, 'Optimization complete');
194: fnd_file.put_line(fnd_file.log, 'Start optimization ...');
195: optimize;
196:
197: dbms_application_info.set_session_longops( rindex, slno, null, request_id, 0, 2, 2);
198: fnd_file.put_line(fnd_file.log, 'Optimization complete');
199: errbuf := 'OKC_ARTICLES_CTX text index has been optimized successfully';
200: retcode := retcode_success;
201: exception when others then
202: retcode := retcode_error;
200: retcode := retcode_success;
201: exception when others then
202: retcode := retcode_error;
203: errbuf := substr(sqlerrm,1,200);
204: fnd_file.put_line(fnd_file.log, sqlerrm);
205: end;
206:
207: procedure create_ctx(errbuf out nocopy varchar2, retcode out nocopy varchar2)
208: is
231:
232: request_id fnd_concurrent_requests.request_id%type;
233: begin
234: request_id := okc_article_keyword_pvt.request_id('OKCARTCRTCTX');
235: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_CTX text index creation started');
236:
237: begin
238: fnd_file.put_line(fnd_file.log,'Checking OKC_ARTICLE_KEYWORD_PVT package ...');
239: select owner into apps
234: request_id := okc_article_keyword_pvt.request_id('OKCARTCRTCTX');
235: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_CTX text index creation started');
236:
237: begin
238: fnd_file.put_line(fnd_file.log,'Checking OKC_ARTICLE_KEYWORD_PVT package ...');
239: select owner into apps
240: from sys.dba_objects
241: where object_name = 'OKC_ARTICLE_KEYWORD_PVT'
242: and object_type = 'PACKAGE';
239: select owner into apps
240: from sys.dba_objects
241: where object_name = 'OKC_ARTICLE_KEYWORD_PVT'
242: and object_type = 'PACKAGE';
243: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_KEYWORD_PVT package exists');
244: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_KEYWORD_PVT package owner is '||apps);
245:
246: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 1, 18);
247:
240: from sys.dba_objects
241: where object_name = 'OKC_ARTICLE_KEYWORD_PVT'
242: and object_type = 'PACKAGE';
243: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_KEYWORD_PVT package exists');
244: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_KEYWORD_PVT package owner is '||apps);
245:
246: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 1, 18);
247:
248: exception when others then
245:
246: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 1, 18);
247:
248: exception when others then
249: fnd_file.put_line(fnd_file.log,'ERROR: OKC_ARTICLE_KEYWORD_PVT package doesn''t exist');
250: raise generic;
251: end;
252:
253: begin
250: raise generic;
251: end;
252:
253: begin
254: fnd_file.put_line(fnd_file.log,'Checking OKC_ARTICLES_ALL table ...');
255: select owner into okc
256: from sys.dba_tables
257: where table_name = 'OKC_ARTICLES_ALL';
258: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_ALL table exists');
254: fnd_file.put_line(fnd_file.log,'Checking OKC_ARTICLES_ALL table ...');
255: select owner into okc
256: from sys.dba_tables
257: where table_name = 'OKC_ARTICLES_ALL';
258: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_ALL table exists');
259: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_ALL table owner is '||okc);
260:
261: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 2, 18);
262:
255: select owner into okc
256: from sys.dba_tables
257: where table_name = 'OKC_ARTICLES_ALL';
258: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_ALL table exists');
259: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_ALL table owner is '||okc);
260:
261: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 2, 18);
262:
263: exception when others then
260:
261: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 2, 18);
262:
263: exception when others then
264: fnd_file.put_line(fnd_file.log,'ERROR: OKC_ARTICLES_ALL table doesn''t exist');
265: raise generic;
266: end;
267:
268: begin
266: end;
267:
268: begin
269: execute immediate 'grant execute on '||apps||'.OKC_ARTICLE_KEYWORD_PVT to '||okc;
270: fnd_file.put_line(fnd_file.log,'Granted execute on '||apps||'.OKC_ARTICLE_KEYWORD_PVT to '||okc);
271:
272: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 3, 18);
273:
274: exception when others then
271:
272: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 3, 18);
273:
274: exception when others then
275: fnd_file.put_line(fnd_file.log,'ERROR: Couldn''t grant execute on '||apps||'.OKC_ARTICLE_KEYWORD_PVT to '||okc);
276: raise generic;
277: end;
278:
279: -- ===================================================================
289: -- Create datastore okc_articles_datastore
290: -- -------------------------------------------------------------------
291: begin
292: -- DATASTORE
293: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_DATASTORE preference creation ...');
294: begin
295: ad_ctx_ddl.drop_preference('okc_articles_datastore');
296: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_ARTICLES_DATASTORE preference');
297: exception when others then
292: -- DATASTORE
293: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_DATASTORE preference creation ...');
294: begin
295: ad_ctx_ddl.drop_preference('okc_articles_datastore');
296: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_ARTICLES_DATASTORE preference');
297: exception when others then
298: fnd_file.put_line(fnd_file.log,'Creating new OKC_ARTICLES_DATASTORE preference');
299: end;
300: ad_ctx_ddl.create_preference('okc_articles_datastore','multi_column_datastore');
294: begin
295: ad_ctx_ddl.drop_preference('okc_articles_datastore');
296: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_ARTICLES_DATASTORE preference');
297: exception when others then
298: fnd_file.put_line(fnd_file.log,'Creating new OKC_ARTICLES_DATASTORE preference');
299: end;
300: ad_ctx_ddl.create_preference('okc_articles_datastore','multi_column_datastore');
301: ad_ctx_ddl.set_attribute('okc_articles_datastore','columns',
302: apps||'.okc_article_keyword_pvt.article_title(article_version_id) art_title,
300: ad_ctx_ddl.create_preference('okc_articles_datastore','multi_column_datastore');
301: ad_ctx_ddl.set_attribute('okc_articles_datastore','columns',
302: apps||'.okc_article_keyword_pvt.article_title(article_version_id) art_title,
303: display_name art_disp, article_description art_descr, article_text art_text, additional_instructions art_instr');
304: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_DATASTORE preference has been created successfully as MULTI_COLUMN_DATASTORE');
305:
306: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 4, 18);
307:
308: end;
311: -- Create section group okc_article_sections
312: -- -------------------------------------------------------------------
313: begin
314: -- SECTION GROUP
315: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS section group creation ...');
316: begin
317: ad_ctx_ddl.drop_section_group('okc_article_sections');
318: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_ARTICLE_SECTIONS section group');
319: exception when others then
314: -- SECTION GROUP
315: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS section group creation ...');
316: begin
317: ad_ctx_ddl.drop_section_group('okc_article_sections');
318: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_ARTICLE_SECTIONS section group');
319: exception when others then
320: fnd_file.put_line(fnd_file.log,'Creating new OKC_ARTICLE_SECTIONS section group');
321: end;
322: ad_ctx_ddl.create_section_group('okc_article_sections', 'BASIC_SECTION_GROUP');
316: begin
317: ad_ctx_ddl.drop_section_group('okc_article_sections');
318: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_ARTICLE_SECTIONS section group');
319: exception when others then
320: fnd_file.put_line(fnd_file.log,'Creating new OKC_ARTICLE_SECTIONS section group');
321: end;
322: ad_ctx_ddl.create_section_group('okc_article_sections', 'BASIC_SECTION_GROUP');
323: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Title');
324: ad_ctx_ddl.add_field_section('okc_article_sections', 'Title', '
319: exception when others then
320: fnd_file.put_line(fnd_file.log,'Creating new OKC_ARTICLE_SECTIONS section group');
321: end;
322: ad_ctx_ddl.create_section_group('okc_article_sections', 'BASIC_SECTION_GROUP');
323: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Title');
324: ad_ctx_ddl.add_field_section('okc_article_sections', 'Title', '
325: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Display');
326: ad_ctx_ddl.add_field_section('okc_article_sections', 'Display', '
327: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Description');
321: end;
322: ad_ctx_ddl.create_section_group('okc_article_sections', 'BASIC_SECTION_GROUP');
323: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Title');
324: ad_ctx_ddl.add_field_section('okc_article_sections', 'Title', '
325: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Display');
326: ad_ctx_ddl.add_field_section('okc_article_sections', 'Display', '
327: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Description');
328: ad_ctx_ddl.add_field_section('okc_article_sections', 'Description', '
329: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Instruction');
323: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Title');
324: ad_ctx_ddl.add_field_section('okc_article_sections', 'Title', '
325: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Display');
326: ad_ctx_ddl.add_field_section('okc_article_sections', 'Display', '
327: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Description');
328: ad_ctx_ddl.add_field_section('okc_article_sections', 'Description', '
329: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Instruction');
330: ad_ctx_ddl.add_field_section('okc_article_sections', 'Instruction', '
331: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Text');
325: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Display');
326: ad_ctx_ddl.add_field_section('okc_article_sections', 'Display', '
327: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Description');
328: ad_ctx_ddl.add_field_section('okc_article_sections', 'Description', '
329: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Instruction');
330: ad_ctx_ddl.add_field_section('okc_article_sections', 'Instruction', '
331: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Text');
332: ad_ctx_ddl.add_field_section('okc_article_sections', 'Text', '
333: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS section group has been created successfully as BASIC_SECTION_GROUP');
327: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Description');
328: ad_ctx_ddl.add_field_section('okc_article_sections', 'Description', '
329: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Instruction');
330: ad_ctx_ddl.add_field_section('okc_article_sections', 'Instruction', '
331: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Text');
332: ad_ctx_ddl.add_field_section('okc_article_sections', 'Text', '
333: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS section group has been created successfully as BASIC_SECTION_GROUP');
334:
335: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 5, 18);
329: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Instruction');
330: ad_ctx_ddl.add_field_section('okc_article_sections', 'Instruction', '
331: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS: add field section Text');
332: ad_ctx_ddl.add_field_section('okc_article_sections', 'Text', '
333: fnd_file.put_line(fnd_file.log,'OKC_ARTICLE_SECTIONS section group has been created successfully as BASIC_SECTION_GROUP');
334:
335: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 5, 18);
336:
337: end;
340: -- Create lexer okc_articles_lexer
341: -- -------------------------------------------------------------------
342: begin
343: -- LEXER
344: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER preference creation ...');
345: begin
346: ad_ctx_ddl.drop_preference('okc_articles_lexer');
347: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_ARTICLES_LEXER preference');
348: exception when others then
343: -- LEXER
344: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER preference creation ...');
345: begin
346: ad_ctx_ddl.drop_preference('okc_articles_lexer');
347: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_ARTICLES_LEXER preference');
348: exception when others then
349: fnd_file.put_line(fnd_file.log,'Creating new OKC_ARTICLES_LEXER preference');
350: end;
351: ad_ctx_ddl.create_preference('okc_articles_lexer','multi_lexer');
345: begin
346: ad_ctx_ddl.drop_preference('okc_articles_lexer');
347: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_ARTICLES_LEXER preference');
348: exception when others then
349: fnd_file.put_line(fnd_file.log,'Creating new OKC_ARTICLES_LEXER preference');
350: end;
351: ad_ctx_ddl.create_preference('okc_articles_lexer','multi_lexer');
352: begin
353: ad_ctx_ddl.drop_preference('okc_blexer');
350: end;
351: ad_ctx_ddl.create_preference('okc_articles_lexer','multi_lexer');
352: begin
353: ad_ctx_ddl.drop_preference('okc_blexer');
354: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_BLEXER preference');
355: exception when others then
356: fnd_file.put_line(fnd_file.log,'Creating new OKC_BLEXER preference');
357: end;
358: ad_ctx_ddl.create_preference('okc_blexer','basic_lexer');
352: begin
353: ad_ctx_ddl.drop_preference('okc_blexer');
354: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_BLEXER preference');
355: exception when others then
356: fnd_file.put_line(fnd_file.log,'Creating new OKC_BLEXER preference');
357: end;
358: ad_ctx_ddl.create_preference('okc_blexer','basic_lexer');
359: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute index_themes=false');
360: ad_ctx_ddl.set_attribute('okc_blexer','index_themes','false');
355: exception when others then
356: fnd_file.put_line(fnd_file.log,'Creating new OKC_BLEXER preference');
357: end;
358: ad_ctx_ddl.create_preference('okc_blexer','basic_lexer');
359: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute index_themes=false');
360: ad_ctx_ddl.set_attribute('okc_blexer','index_themes','false');
361: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute index_text=true');
362: ad_ctx_ddl.set_attribute('okc_blexer','index_text','true');
363: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute base_letter=true');
357: end;
358: ad_ctx_ddl.create_preference('okc_blexer','basic_lexer');
359: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute index_themes=false');
360: ad_ctx_ddl.set_attribute('okc_blexer','index_themes','false');
361: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute index_text=true');
362: ad_ctx_ddl.set_attribute('okc_blexer','index_text','true');
363: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute base_letter=true');
364: ad_ctx_ddl.set_attribute('okc_blexer','base_letter','true');
365: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute mixed_case=false');
359: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute index_themes=false');
360: ad_ctx_ddl.set_attribute('okc_blexer','index_themes','false');
361: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute index_text=true');
362: ad_ctx_ddl.set_attribute('okc_blexer','index_text','true');
363: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute base_letter=true');
364: ad_ctx_ddl.set_attribute('okc_blexer','base_letter','true');
365: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute mixed_case=false');
366: ad_ctx_ddl.set_attribute('okc_blexer','mixed_case','false');
367: fnd_file.put_line(fnd_file.log,'OKC_BLEXER preference has been created as BASIC_LEXER');
361: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute index_text=true');
362: ad_ctx_ddl.set_attribute('okc_blexer','index_text','true');
363: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute base_letter=true');
364: ad_ctx_ddl.set_attribute('okc_blexer','base_letter','true');
365: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute mixed_case=false');
366: ad_ctx_ddl.set_attribute('okc_blexer','mixed_case','false');
367: fnd_file.put_line(fnd_file.log,'OKC_BLEXER preference has been created as BASIC_LEXER');
368:
369: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 6, 18);
363: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute base_letter=true');
364: ad_ctx_ddl.set_attribute('okc_blexer','base_letter','true');
365: fnd_file.put_line(fnd_file.log,'OKC_BLEXER: set attribute mixed_case=false');
366: ad_ctx_ddl.set_attribute('okc_blexer','mixed_case','false');
367: fnd_file.put_line(fnd_file.log,'OKC_BLEXER preference has been created as BASIC_LEXER');
368:
369: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 6, 18);
370:
371: -- Chinese lexer
370:
371: -- Chinese lexer
372: begin
373: ad_ctx_ddl.drop_preference('okc_clexer');
374: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_CLEXER preference');
375: exception when others then
376: fnd_file.put_line(fnd_file.log,'Creating new OKC_CLEXER preference');
377: end;
378:
372: begin
373: ad_ctx_ddl.drop_preference('okc_clexer');
374: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_CLEXER preference');
375: exception when others then
376: fnd_file.put_line(fnd_file.log,'Creating new OKC_CLEXER preference');
377: end;
378:
379: declare
380: yes_no varchar2(1);
388: yes_no := 'N';
389: end;
390: if yes_no = 'Y' then
391: ad_ctx_ddl.create_preference('okc_clexer','chinese_lexer');
392: fnd_file.put_line(fnd_file.log,'OKC_CLEXER preference has been created as CHINESE_LEXER');
393: else
394: ad_ctx_ddl.create_preference('okc_clexer','chinese_vgram_lexer');
395: fnd_file.put_line(fnd_file.log,'OKC_CLEXER preference has been created as CHINESE_VGRAM_LEXER');
396: end if;
391: ad_ctx_ddl.create_preference('okc_clexer','chinese_lexer');
392: fnd_file.put_line(fnd_file.log,'OKC_CLEXER preference has been created as CHINESE_LEXER');
393: else
394: ad_ctx_ddl.create_preference('okc_clexer','chinese_vgram_lexer');
395: fnd_file.put_line(fnd_file.log,'OKC_CLEXER preference has been created as CHINESE_VGRAM_LEXER');
396: end if;
397:
398: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 7, 18);
399:
401:
402: -- Japanese lexer
403: begin
404: ad_ctx_ddl.drop_preference('okc_jlexer');
405: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_JLEXER preference');
406: exception
407: when others then
408: fnd_file.put_line(fnd_file.log,'Creating new OKC_JLEXER preference');
409: end;
404: ad_ctx_ddl.drop_preference('okc_jlexer');
405: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_JLEXER preference');
406: exception
407: when others then
408: fnd_file.put_line(fnd_file.log,'Creating new OKC_JLEXER preference');
409: end;
410:
411: declare
412: yes_no varchar2(1);
421: yes_no := 'N';
422: end;
423: if yes_no = 'Y' then
424: ad_ctx_ddl.create_preference('okc_jlexer','japanese_lexer');
425: fnd_file.put_line(fnd_file.log,'OKC_JLEXER preference has been created as JAPANESE_LEXER');
426: else
427: ad_ctx_ddl.create_preference('okc_jlexer','japanese_vgram_lexer');
428: fnd_file.put_line(fnd_file.log,'OKC_JLEXER preference has been created as JAPANESE_VGRAM_LEXER');
429: end if;
424: ad_ctx_ddl.create_preference('okc_jlexer','japanese_lexer');
425: fnd_file.put_line(fnd_file.log,'OKC_JLEXER preference has been created as JAPANESE_LEXER');
426: else
427: ad_ctx_ddl.create_preference('okc_jlexer','japanese_vgram_lexer');
428: fnd_file.put_line(fnd_file.log,'OKC_JLEXER preference has been created as JAPANESE_VGRAM_LEXER');
429: end if;
430:
431: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 8, 18);
432:
434:
435: -- Korean lexer
436: begin
437: ad_ctx_ddl.drop_preference('okc_klexer');
438: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_KLEXER preference');
439: exception when others then
440: fnd_file.put_line(fnd_file.log,'Creating new OKC_KLEXER preference');
441: end;
442:
436: begin
437: ad_ctx_ddl.drop_preference('okc_klexer');
438: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_KLEXER preference');
439: exception when others then
440: fnd_file.put_line(fnd_file.log,'Creating new OKC_KLEXER preference');
441: end;
442:
443: declare
444: yes_no varchar2(1);
452: yes_no := 'N';
453: end;
454: if yes_no = 'Y' then
455: ad_ctx_ddl.create_preference('okc_klexer', 'korean_morph_lexer');
456: fnd_file.put_line(fnd_file.log,'OKC_KLEXER preference has been created as KOREAN_MORPH_LEXER');
457: else
458: ad_ctx_ddl.create_preference('okc_klexer', 'korean_lexer');
459: fnd_file.put_line(fnd_file.log,'OKC_KLEXER preference has been created as KOREAN_LEXER');
460: end if;
455: ad_ctx_ddl.create_preference('okc_klexer', 'korean_morph_lexer');
456: fnd_file.put_line(fnd_file.log,'OKC_KLEXER preference has been created as KOREAN_MORPH_LEXER');
457: else
458: ad_ctx_ddl.create_preference('okc_klexer', 'korean_lexer');
459: fnd_file.put_line(fnd_file.log,'OKC_KLEXER preference has been created as KOREAN_LEXER');
460: end if;
461: fnd_file.put_line(fnd_file.log,'OKC_KLEXER: set attribute one_char_word=true');
462: ad_ctx_ddl.set_attribute('okc_klexer', 'one_char_word', 'true');
463: fnd_file.put_line(fnd_file.log,'OKC_KLEXER: set attribute number=true');
457: else
458: ad_ctx_ddl.create_preference('okc_klexer', 'korean_lexer');
459: fnd_file.put_line(fnd_file.log,'OKC_KLEXER preference has been created as KOREAN_LEXER');
460: end if;
461: fnd_file.put_line(fnd_file.log,'OKC_KLEXER: set attribute one_char_word=true');
462: ad_ctx_ddl.set_attribute('okc_klexer', 'one_char_word', 'true');
463: fnd_file.put_line(fnd_file.log,'OKC_KLEXER: set attribute number=true');
464: ad_ctx_ddl.set_attribute('okc_klexer', 'number', 'true');
465:
459: fnd_file.put_line(fnd_file.log,'OKC_KLEXER preference has been created as KOREAN_LEXER');
460: end if;
461: fnd_file.put_line(fnd_file.log,'OKC_KLEXER: set attribute one_char_word=true');
462: ad_ctx_ddl.set_attribute('okc_klexer', 'one_char_word', 'true');
463: fnd_file.put_line(fnd_file.log,'OKC_KLEXER: set attribute number=true');
464: ad_ctx_ddl.set_attribute('okc_klexer', 'number', 'true');
465:
466: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 9, 18);
467:
467:
468: end;
469:
470: -- sublexers
471: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer default=okc_blexer');
472: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','default','okc_blexer');
473: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer ja=okc_jlexer');
474: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','ja','okc_jlexer');
475: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer ko=okc_klexer');
469:
470: -- sublexers
471: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer default=okc_blexer');
472: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','default','okc_blexer');
473: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer ja=okc_jlexer');
474: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','ja','okc_jlexer');
475: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer ko=okc_klexer');
476: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','ko','okc_klexer');
477: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer zhs=okc_clexer');
471: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer default=okc_blexer');
472: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','default','okc_blexer');
473: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer ja=okc_jlexer');
474: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','ja','okc_jlexer');
475: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer ko=okc_klexer');
476: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','ko','okc_klexer');
477: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer zhs=okc_clexer');
478: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','zhs','okc_clexer');
479: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer zht=okc_clexer');
473: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer ja=okc_jlexer');
474: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','ja','okc_jlexer');
475: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer ko=okc_klexer');
476: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','ko','okc_klexer');
477: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer zhs=okc_clexer');
478: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','zhs','okc_clexer');
479: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer zht=okc_clexer');
480: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','zht','okc_clexer');
481: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER preference has been created as MULTI_LEXER');
475: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer ko=okc_klexer');
476: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','ko','okc_klexer');
477: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer zhs=okc_clexer');
478: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','zhs','okc_clexer');
479: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer zht=okc_clexer');
480: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','zht','okc_clexer');
481: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER preference has been created as MULTI_LEXER');
482:
483: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 10, 18);
477: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer zhs=okc_clexer');
478: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','zhs','okc_clexer');
479: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER: add sublexer zht=okc_clexer');
480: ad_ctx_ddl.add_sub_lexer('okc_articles_lexer','zht','okc_clexer');
481: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_LEXER preference has been created as MULTI_LEXER');
482:
483: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 10, 18);
484:
485: end;
488: -- Create stoplist okc_articles_stoplist
489: -- -------------------------------------------------------------------
490: begin
491: -- STOPLIST
492: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_STOPLIST preference creation ...');
493: ad_ctx_ddl.create_stoplist ('okc_articles_stoplist', 'multi_stoplist');
494: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_STOPLIST preference has been created as MULTI_STOPLIST');
495: exception when others then
496: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_STOPLIST preference already exists');
490: begin
491: -- STOPLIST
492: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_STOPLIST preference creation ...');
493: ad_ctx_ddl.create_stoplist ('okc_articles_stoplist', 'multi_stoplist');
494: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_STOPLIST preference has been created as MULTI_STOPLIST');
495: exception when others then
496: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_STOPLIST preference already exists');
497: end;
498:
492: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_STOPLIST preference creation ...');
493: ad_ctx_ddl.create_stoplist ('okc_articles_stoplist', 'multi_stoplist');
494: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_STOPLIST preference has been created as MULTI_STOPLIST');
495: exception when others then
496: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_STOPLIST preference already exists');
497: end;
498:
499: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 11, 18);
500:
502: -- Create wordlist okc_articles_wordlist
503: -- -------------------------------------------------------------------
504: begin
505: -- WORDLIST
506: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST preference creation ...');
507: begin
508: ad_ctx_ddl.drop_preference('okc_articles_wordlist');
509: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_ARTICLES_WORDLIST preference');
510: exception when others then
505: -- WORDLIST
506: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST preference creation ...');
507: begin
508: ad_ctx_ddl.drop_preference('okc_articles_wordlist');
509: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_ARTICLES_WORDLIST preference');
510: exception when others then
511: fnd_file.put_line(fnd_file.log,'Creating new OKC_ARTICLES_WORDLIST preference');
512: end;
513: ad_ctx_ddl.create_preference('okc_articles_wordlist','basic_wordlist');
507: begin
508: ad_ctx_ddl.drop_preference('okc_articles_wordlist');
509: fnd_file.put_line(fnd_file.log,'Re-creating old OKC_ARTICLES_WORDLIST preference');
510: exception when others then
511: fnd_file.put_line(fnd_file.log,'Creating new OKC_ARTICLES_WORDLIST preference');
512: end;
513: ad_ctx_ddl.create_preference('okc_articles_wordlist','basic_wordlist');
514: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute stemmer=auto');
515: ad_ctx_ddl.set_attribute('okc_articles_wordlist','stemmer','auto');
510: exception when others then
511: fnd_file.put_line(fnd_file.log,'Creating new OKC_ARTICLES_WORDLIST preference');
512: end;
513: ad_ctx_ddl.create_preference('okc_articles_wordlist','basic_wordlist');
514: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute stemmer=auto');
515: ad_ctx_ddl.set_attribute('okc_articles_wordlist','stemmer','auto');
516: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute fuzzy_match=auto');
517: ad_ctx_ddl.set_attribute('okc_articles_wordlist','fuzzy_match','auto');
518: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute prefix_index=true');
512: end;
513: ad_ctx_ddl.create_preference('okc_articles_wordlist','basic_wordlist');
514: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute stemmer=auto');
515: ad_ctx_ddl.set_attribute('okc_articles_wordlist','stemmer','auto');
516: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute fuzzy_match=auto');
517: ad_ctx_ddl.set_attribute('okc_articles_wordlist','fuzzy_match','auto');
518: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute prefix_index=true');
519: ad_ctx_ddl.set_attribute('okc_articles_wordlist','prefix_index','true');
520: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute prefix_min_length=3');
514: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute stemmer=auto');
515: ad_ctx_ddl.set_attribute('okc_articles_wordlist','stemmer','auto');
516: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute fuzzy_match=auto');
517: ad_ctx_ddl.set_attribute('okc_articles_wordlist','fuzzy_match','auto');
518: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute prefix_index=true');
519: ad_ctx_ddl.set_attribute('okc_articles_wordlist','prefix_index','true');
520: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute prefix_min_length=3');
521: ad_ctx_ddl.set_attribute('okc_articles_wordlist','prefix_min_length',3);
522: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute prefix_max_length=5');
516: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute fuzzy_match=auto');
517: ad_ctx_ddl.set_attribute('okc_articles_wordlist','fuzzy_match','auto');
518: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute prefix_index=true');
519: ad_ctx_ddl.set_attribute('okc_articles_wordlist','prefix_index','true');
520: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute prefix_min_length=3');
521: ad_ctx_ddl.set_attribute('okc_articles_wordlist','prefix_min_length',3);
522: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute prefix_max_length=5');
523: ad_ctx_ddl.set_attribute('okc_articles_wordlist','prefix_max_length',5);
524: -- ad_ctx_ddl.set_attribute('okc_articles_wordlist','fuzzy_score',60);
518: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute prefix_index=true');
519: ad_ctx_ddl.set_attribute('okc_articles_wordlist','prefix_index','true');
520: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute prefix_min_length=3');
521: ad_ctx_ddl.set_attribute('okc_articles_wordlist','prefix_min_length',3);
522: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST: set attribute prefix_max_length=5');
523: ad_ctx_ddl.set_attribute('okc_articles_wordlist','prefix_max_length',5);
524: -- ad_ctx_ddl.set_attribute('okc_articles_wordlist','fuzzy_score',60);
525: -- ad_ctx_ddl.set_attribute('okc_articles_wordlist','fuzzy_numresults',100);
526: -- ad_ctx_ddl.set_attribute('okc_articles_wordlist','substring_index','true');
523: ad_ctx_ddl.set_attribute('okc_articles_wordlist','prefix_max_length',5);
524: -- ad_ctx_ddl.set_attribute('okc_articles_wordlist','fuzzy_score',60);
525: -- ad_ctx_ddl.set_attribute('okc_articles_wordlist','fuzzy_numresults',100);
526: -- ad_ctx_ddl.set_attribute('okc_articles_wordlist','substring_index','true');
527: fnd_file.put_line(fnd_file.log,'OKC_ARTICLES_WORDLIST preference has been created as BASIC_WORDLIST');
528:
529: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 12, 18);
530:
531: end;
533: -- -------------------------------------------------------------------
534: -- Drop context index okc_articles_ctx (if exists)
535: -- -------------------------------------------------------------------
536: begin
537: fnd_file.put_line(fnd_file.log, okc||'.OKC_ARTICLES_CTX text index creation:');
538: execute immediate 'drop index '||okc||'.okc_articles_ctx force';
539: exception when others then
540: null;
541: end;
541: end;
542:
543: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 13, 18);
544:
545: fnd_file.put_line(fnd_file.log, 'Generating '||okc||'.OKC_ARTICLES_CTX text index creation DDL ...');
546: -- -------------------------------------------------------------------
547: -- Create context index okc_articles_ctx
548: -- -------------------------------------------------------------------
549: declare
560: begin
561: select par_value into max_memory
562: from ctx_parameters
563: where par_name = 'MAX_INDEX_MEMORY';
564: fnd_file.put_line(fnd_file.log,'max_memory='||max_memory);
565: exception when others then
566: null;
567: end;
568:
571: begin
572: select value into cpu_count
573: from v$parameter
574: where name = 'cpu_count';
575: fnd_file.put_line(fnd_file.log,'cpu_count='||cpu_count);
576: exception when others then
577: null;
578: end;
579:
581:
582: begin
583: select to_number(substr(version,0,2)) into db_version
584: from v$instance;
585: fnd_file.put_line(fnd_file.log,'db_version='||db_version);
586: exception
587: when others then
588: null;
589: end;
603: lexer '||apps||'.okc_articles_lexer language column article_language
604: section group '||apps||'.okc_article_sections
605: stoplist '||apps||'.okc_articles_stoplist
606: wordlist '||apps||'.okc_articles_wordlist'') parallel '||cpu_count;
607: fnd_file.put_line(fnd_file.log, 'Executing '||okc||'.OKC_ARTICLES_CTX text index creation DDL ...');
608: fnd_file.put_line(fnd_file.log, cmd);
609:
610: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 17, 18);
611:
604: section group '||apps||'.okc_article_sections
605: stoplist '||apps||'.okc_articles_stoplist
606: wordlist '||apps||'.okc_articles_wordlist'') parallel '||cpu_count;
607: fnd_file.put_line(fnd_file.log, 'Executing '||okc||'.OKC_ARTICLES_CTX text index creation DDL ...');
608: fnd_file.put_line(fnd_file.log, cmd);
609:
610: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 17, 18);
611:
612: execute immediate cmd;
612: execute immediate cmd;
613:
614: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 18, 18);
615:
616: fnd_file.put_line(fnd_file.log, okc||'.OKC_ARTICLES_CTX text index has been created successfully');
617: exception when others then
618: fnd_file.put_line(fnd_file.log, 'ERROR: Couldn''t create '||okc||'.OKC_ARTICLES_CTX text index');
619: begin
620: execute immediate 'drop index '||okc||'.okc_articles_ctx force';
614: dbms_application_info.set_session_longops( rindex, slno, null, request_id, request_id, 18, 18);
615:
616: fnd_file.put_line(fnd_file.log, okc||'.OKC_ARTICLES_CTX text index has been created successfully');
617: exception when others then
618: fnd_file.put_line(fnd_file.log, 'ERROR: Couldn''t create '||okc||'.OKC_ARTICLES_CTX text index');
619: begin
620: execute immediate 'drop index '||okc||'.okc_articles_ctx force';
621: exception when others then
622: null;
620: execute immediate 'drop index '||okc||'.okc_articles_ctx force';
621: exception when others then
622: null;
623: end;
624: fnd_file.put_line(fnd_file.log, cmd);
625: raise generic;
626: end;
627:
628: end;