17: --
18: for i in 1..10
19: loop
20: l_file_exists := false;
21: utl_file.fgetattr(p_dir_name,p_data_file||'.'||i,l_file_exists,l_dummy,l_dummy);
22: if not l_file_exists then
23: exit;
24: elsif l_file_exists then
25: l_file_count := l_file_count + 1;
41:
42: l_file_exists boolean;
43: l_dummy number;
44: l_max_size number := 32767;
45: l_file_handle utl_file.file_type;
46:
47: begin
48:
49: if p_file_type = 'in' then
50: --assume a max of 10 threads
51: for i in 1..10
52: loop
53: l_file_exists := false;
54: utl_file.fgetattr(p_dir_name,p_data_file||'.'||i,l_file_exists,l_dummy,l_dummy);
55: if not l_file_exists then
56: null;
57: elsif l_file_exists then
58: l_file_handle := utl_file.fopen(p_dir_name,p_data_file||'.'||i,'w',l_max_size);
54: utl_file.fgetattr(p_dir_name,p_data_file||'.'||i,l_file_exists,l_dummy,l_dummy);
55: if not l_file_exists then
56: null;
57: elsif l_file_exists then
58: l_file_handle := utl_file.fopen(p_dir_name,p_data_file||'.'||i,'w',l_max_size);
59: utl_file.fclose(l_file_handle);
60: end if;
61: end loop;
62: else
55: if not l_file_exists then
56: null;
57: elsif l_file_exists then
58: l_file_handle := utl_file.fopen(p_dir_name,p_data_file||'.'||i,'w',l_max_size);
59: utl_file.fclose(l_file_handle);
60: end if;
61: end loop;
62: else
63: for i in 1..p_no_of_threads
61: end loop;
62: else
63: for i in 1..p_no_of_threads
64: loop
65: l_file_handle := utl_file.fopen(p_dir_name,p_data_file||'.out'||i,'w',l_max_size);
66: utl_file.fclose(l_file_handle);
67: end loop;
68: end if;
69:
62: else
63: for i in 1..p_no_of_threads
64: loop
65: l_file_handle := utl_file.fopen(p_dir_name,p_data_file||'.out'||i,'w',l_max_size);
66: utl_file.fclose(l_file_handle);
67: end loop;
68: end if;
69:
70: exception
68: end if;
69:
70: exception
71: when others then
72: if utl_file.is_open(l_file_handle) then
73: utl_file.fclose(l_file_handle);
74: end if;
75:
76: end touch_files;
69:
70: exception
71: when others then
72: if utl_file.is_open(l_file_handle) then
73: utl_file.fclose(l_file_handle);
74: end if;
75:
76: end touch_files;
77:
216:
217: type t_in_file is table of varchar2(255) index by binary_integer;
218: l_in_file t_in_file;
219: l_prev_tab_name varchar2(30);
220: l_file_handle utl_file.file_type;
221: l_max_size number := 32767;
222: l_file_exists boolean;
223: l_dummy number;
224:
230: (p_dir_name => p_dir_name,
231: p_no_of_threads => p_no_of_threads,
232: p_data_file => p_data_file);
233:
234: l_file_handle := utl_file.fopen(p_dir_name,'pm00.ctl','w',l_max_size);
235:
236: open c1;
237: loop
238: fetch c1 into c1_rec;
240: exit;
241: end if;
242:
243: if c1%rowcount = 1 then
244: utl_file.put_line(l_file_handle,'load data');
245: utl_file.put_line(l_file_handle,'infile "'||p_dir_name||'/'||p_transfer_file||'"');
246: utl_file.put_line(l_file_handle,'replace');
247: end if;
248:
241: end if;
242:
243: if c1%rowcount = 1 then
244: utl_file.put_line(l_file_handle,'load data');
245: utl_file.put_line(l_file_handle,'infile "'||p_dir_name||'/'||p_transfer_file||'"');
246: utl_file.put_line(l_file_handle,'replace');
247: end if;
248:
249: if c1_rec.table_name <> nvl(l_prev_tab_name,'-1') then
242:
243: if c1%rowcount = 1 then
244: utl_file.put_line(l_file_handle,'load data');
245: utl_file.put_line(l_file_handle,'infile "'||p_dir_name||'/'||p_transfer_file||'"');
246: utl_file.put_line(l_file_handle,'replace');
247: end if;
248:
249: if c1_rec.table_name <> nvl(l_prev_tab_name,'-1') then
250: if l_prev_tab_name is not null then
247: end if;
248:
249: if c1_rec.table_name <> nvl(l_prev_tab_name,'-1') then
250: if l_prev_tab_name is not null then
251: utl_file.put_line(l_file_handle,')');
252: end if;
253: utl_file.put_line(l_file_handle,'into table '||c1_rec.table_name);
254: utl_file.put_line(l_file_handle,'when fillertabname="'||c1_rec.table_name||'"');
255: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
249: if c1_rec.table_name <> nvl(l_prev_tab_name,'-1') then
250: if l_prev_tab_name is not null then
251: utl_file.put_line(l_file_handle,')');
252: end if;
253: utl_file.put_line(l_file_handle,'into table '||c1_rec.table_name);
254: utl_file.put_line(l_file_handle,'when fillertabname="'||c1_rec.table_name||'"');
255: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
256: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
257: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
250: if l_prev_tab_name is not null then
251: utl_file.put_line(l_file_handle,')');
252: end if;
253: utl_file.put_line(l_file_handle,'into table '||c1_rec.table_name);
254: utl_file.put_line(l_file_handle,'when fillertabname="'||c1_rec.table_name||'"');
255: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
256: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
257: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
258: l_prev_tab_name := c1_rec.table_name;
251: utl_file.put_line(l_file_handle,')');
252: end if;
253: utl_file.put_line(l_file_handle,'into table '||c1_rec.table_name);
254: utl_file.put_line(l_file_handle,'when fillertabname="'||c1_rec.table_name||'"');
255: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
256: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
257: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
258: l_prev_tab_name := c1_rec.table_name;
259: end if;
252: end if;
253: utl_file.put_line(l_file_handle,'into table '||c1_rec.table_name);
254: utl_file.put_line(l_file_handle,'when fillertabname="'||c1_rec.table_name||'"');
255: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
256: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
257: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
258: l_prev_tab_name := c1_rec.table_name;
259: end if;
260: utl_file.put_line(l_file_handle,','||c1_rec.column_name);
253: utl_file.put_line(l_file_handle,'into table '||c1_rec.table_name);
254: utl_file.put_line(l_file_handle,'when fillertabname="'||c1_rec.table_name||'"');
255: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
256: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
257: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
258: l_prev_tab_name := c1_rec.table_name;
259: end if;
260: utl_file.put_line(l_file_handle,','||c1_rec.column_name);
261:
256: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
257: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
258: l_prev_tab_name := c1_rec.table_name;
259: end if;
260: utl_file.put_line(l_file_handle,','||c1_rec.column_name);
261:
262:
263: end loop;
264: close c1;
261:
262:
263: end loop;
264: close c1;
265: utl_file.put_line(l_file_handle,')');
266: utl_file.fclose(l_file_handle);
267:
268: l_file_handle := utl_file.fopen(p_dir_name,'pm01.ctl','w',l_max_size);
269:
262:
263: end loop;
264: close c1;
265: utl_file.put_line(l_file_handle,')');
266: utl_file.fclose(l_file_handle);
267:
268: l_file_handle := utl_file.fopen(p_dir_name,'pm01.ctl','w',l_max_size);
269:
270: --
264: close c1;
265: utl_file.put_line(l_file_handle,')');
266: utl_file.fclose(l_file_handle);
267:
268: l_file_handle := utl_file.fopen(p_dir_name,'pm01.ctl','w',l_max_size);
269:
270: --
271: -- assuming a max of 10 threads
272: --
272: --
273: for i in 1..10
274: loop
275: l_file_exists := false;
276: utl_file.fgetattr(p_dir_name,p_data_file||'.'||i,l_file_exists,l_dummy,l_dummy);
277: if not l_file_exists then
278: exit;
279: elsif l_file_exists then
280: l_in_file(i) := 'infile "'||p_dir_name||'/'||p_data_file||'.'||i||'"';
292: exit;
293: end if;
294:
295: if c2%rowcount = 1 then
296: utl_file.put_line(l_file_handle,'unrecoverable');
297: utl_file.put_line(l_file_handle,'load data');
298: if l_in_file is null then
299: exit;
300: end if;
293: end if;
294:
295: if c2%rowcount = 1 then
296: utl_file.put_line(l_file_handle,'unrecoverable');
297: utl_file.put_line(l_file_handle,'load data');
298: if l_in_file is null then
299: exit;
300: end if;
301:
300: end if;
301:
302: for i in 1..l_in_file.count
303: loop
304: utl_file.put_line(l_file_handle,l_in_file(i));
305: end loop;
306: utl_file.put_line(l_file_handle,'replace');
307: utl_file.put_line(l_file_handle,'into table '||c2_rec.table_name);
308: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
302: for i in 1..l_in_file.count
303: loop
304: utl_file.put_line(l_file_handle,l_in_file(i));
305: end loop;
306: utl_file.put_line(l_file_handle,'replace');
307: utl_file.put_line(l_file_handle,'into table '||c2_rec.table_name);
308: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
309: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
310: utl_file.put_line(l_file_handle,'('||c2_rec.column_name);
303: loop
304: utl_file.put_line(l_file_handle,l_in_file(i));
305: end loop;
306: utl_file.put_line(l_file_handle,'replace');
307: utl_file.put_line(l_file_handle,'into table '||c2_rec.table_name);
308: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
309: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
310: utl_file.put_line(l_file_handle,'('||c2_rec.column_name);
311: else
304: utl_file.put_line(l_file_handle,l_in_file(i));
305: end loop;
306: utl_file.put_line(l_file_handle,'replace');
307: utl_file.put_line(l_file_handle,'into table '||c2_rec.table_name);
308: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
309: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
310: utl_file.put_line(l_file_handle,'('||c2_rec.column_name);
311: else
312: utl_file.put_line(l_file_handle,','||c2_rec.column_name);
305: end loop;
306: utl_file.put_line(l_file_handle,'replace');
307: utl_file.put_line(l_file_handle,'into table '||c2_rec.table_name);
308: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
309: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
310: utl_file.put_line(l_file_handle,'('||c2_rec.column_name);
311: else
312: utl_file.put_line(l_file_handle,','||c2_rec.column_name);
313: end if;
306: utl_file.put_line(l_file_handle,'replace');
307: utl_file.put_line(l_file_handle,'into table '||c2_rec.table_name);
308: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
309: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
310: utl_file.put_line(l_file_handle,'('||c2_rec.column_name);
311: else
312: utl_file.put_line(l_file_handle,','||c2_rec.column_name);
313: end if;
314:
308: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
309: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
310: utl_file.put_line(l_file_handle,'('||c2_rec.column_name);
311: else
312: utl_file.put_line(l_file_handle,','||c2_rec.column_name);
313: end if;
314:
315:
316: end loop;
314:
315:
316: end loop;
317: close c2;
318: utl_file.put_line(l_file_handle,')');
319: utl_file.fclose(l_file_handle);
320:
321: l_file_handle := utl_file.fopen(p_dir_name,'pm02.ctl','w',l_max_size);
322:
315:
316: end loop;
317: close c2;
318: utl_file.put_line(l_file_handle,')');
319: utl_file.fclose(l_file_handle);
320:
321: l_file_handle := utl_file.fopen(p_dir_name,'pm02.ctl','w',l_max_size);
322:
323: l_in_file.delete;
317: close c2;
318: utl_file.put_line(l_file_handle,')');
319: utl_file.fclose(l_file_handle);
320:
321: l_file_handle := utl_file.fopen(p_dir_name,'pm02.ctl','w',l_max_size);
322:
323: l_in_file.delete;
324:
325: for i in 1..p_no_of_threads
338: exit;
339: end if;
340:
341: if c3%rowcount = 1 then
342: utl_file.put_line(l_file_handle,'load data');
343: if l_in_file is null then
344: exit;
345: end if;
346:
345: end if;
346:
347: for i in 1..l_in_file.count
348: loop
349: utl_file.put_line(l_file_handle,l_in_file(i));
350: end loop;
351: utl_file.put_line(l_file_handle,'append');
352: utl_file.put_line(l_file_handle,'into table '||c3_rec.table_name);
353: utl_file.put_line(l_file_handle,'when fillertabname="'||c3_rec.table_name||'"');
347: for i in 1..l_in_file.count
348: loop
349: utl_file.put_line(l_file_handle,l_in_file(i));
350: end loop;
351: utl_file.put_line(l_file_handle,'append');
352: utl_file.put_line(l_file_handle,'into table '||c3_rec.table_name);
353: utl_file.put_line(l_file_handle,'when fillertabname="'||c3_rec.table_name||'"');
354: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
355: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
348: loop
349: utl_file.put_line(l_file_handle,l_in_file(i));
350: end loop;
351: utl_file.put_line(l_file_handle,'append');
352: utl_file.put_line(l_file_handle,'into table '||c3_rec.table_name);
353: utl_file.put_line(l_file_handle,'when fillertabname="'||c3_rec.table_name||'"');
354: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
355: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
356: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
349: utl_file.put_line(l_file_handle,l_in_file(i));
350: end loop;
351: utl_file.put_line(l_file_handle,'append');
352: utl_file.put_line(l_file_handle,'into table '||c3_rec.table_name);
353: utl_file.put_line(l_file_handle,'when fillertabname="'||c3_rec.table_name||'"');
354: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
355: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
356: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
357: utl_file.put_line(l_file_handle,','||c3_rec.column_name||' "ben_dm_create_control_files.set_dm_flag(:'||c3_rec.column_name||')"');
350: end loop;
351: utl_file.put_line(l_file_handle,'append');
352: utl_file.put_line(l_file_handle,'into table '||c3_rec.table_name);
353: utl_file.put_line(l_file_handle,'when fillertabname="'||c3_rec.table_name||'"');
354: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
355: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
356: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
357: utl_file.put_line(l_file_handle,','||c3_rec.column_name||' "ben_dm_create_control_files.set_dm_flag(:'||c3_rec.column_name||')"');
358: else
351: utl_file.put_line(l_file_handle,'append');
352: utl_file.put_line(l_file_handle,'into table '||c3_rec.table_name);
353: utl_file.put_line(l_file_handle,'when fillertabname="'||c3_rec.table_name||'"');
354: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
355: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
356: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
357: utl_file.put_line(l_file_handle,','||c3_rec.column_name||' "ben_dm_create_control_files.set_dm_flag(:'||c3_rec.column_name||')"');
358: else
359: utl_file.put_line(l_file_handle,','||c3_rec.column_name);
352: utl_file.put_line(l_file_handle,'into table '||c3_rec.table_name);
353: utl_file.put_line(l_file_handle,'when fillertabname="'||c3_rec.table_name||'"');
354: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
355: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
356: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
357: utl_file.put_line(l_file_handle,','||c3_rec.column_name||' "ben_dm_create_control_files.set_dm_flag(:'||c3_rec.column_name||')"');
358: else
359: utl_file.put_line(l_file_handle,','||c3_rec.column_name);
360: end if;
353: utl_file.put_line(l_file_handle,'when fillertabname="'||c3_rec.table_name||'"');
354: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
355: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
356: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
357: utl_file.put_line(l_file_handle,','||c3_rec.column_name||' "ben_dm_create_control_files.set_dm_flag(:'||c3_rec.column_name||')"');
358: else
359: utl_file.put_line(l_file_handle,','||c3_rec.column_name);
360: end if;
361:
355: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
356: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
357: utl_file.put_line(l_file_handle,','||c3_rec.column_name||' "ben_dm_create_control_files.set_dm_flag(:'||c3_rec.column_name||')"');
358: else
359: utl_file.put_line(l_file_handle,','||c3_rec.column_name);
360: end if;
361:
362:
363: end loop;
361:
362:
363: end loop;
364: close c3;
365: utl_file.put_line(l_file_handle,')');
366: utl_file.fclose(l_file_handle);
367:
368: l_file_handle := utl_file.fopen(p_dir_name,'pm03.ctl','w',l_max_size);
369:
362:
363: end loop;
364: close c3;
365: utl_file.put_line(l_file_handle,')');
366: utl_file.fclose(l_file_handle);
367:
368: l_file_handle := utl_file.fopen(p_dir_name,'pm03.ctl','w',l_max_size);
369:
370: open c4;
364: close c3;
365: utl_file.put_line(l_file_handle,')');
366: utl_file.fclose(l_file_handle);
367:
368: l_file_handle := utl_file.fopen(p_dir_name,'pm03.ctl','w',l_max_size);
369:
370: open c4;
371: loop
372: fetch c4 into c4_rec;
374: exit;
375: end if;
376:
377: if c4%rowcount = 1 then
378: utl_file.put_line(l_file_handle,'unrecoverable');
379: utl_file.put_line(l_file_handle,'load data');
380: for i in 1..l_in_file.count
381: loop
382: utl_file.put_line(l_file_handle,l_in_file(i));
375: end if;
376:
377: if c4%rowcount = 1 then
378: utl_file.put_line(l_file_handle,'unrecoverable');
379: utl_file.put_line(l_file_handle,'load data');
380: for i in 1..l_in_file.count
381: loop
382: utl_file.put_line(l_file_handle,l_in_file(i));
383: end loop;
378: utl_file.put_line(l_file_handle,'unrecoverable');
379: utl_file.put_line(l_file_handle,'load data');
380: for i in 1..l_in_file.count
381: loop
382: utl_file.put_line(l_file_handle,l_in_file(i));
383: end loop;
384: utl_file.put_line(l_file_handle,'append');
385: l_prev_tab_name := null;
386: end if;
380: for i in 1..l_in_file.count
381: loop
382: utl_file.put_line(l_file_handle,l_in_file(i));
383: end loop;
384: utl_file.put_line(l_file_handle,'append');
385: l_prev_tab_name := null;
386: end if;
387:
388: if c4_rec.table_name <> nvl(l_prev_tab_name,'-1') then
386: end if;
387:
388: if c4_rec.table_name <> nvl(l_prev_tab_name,'-1') then
389: if l_prev_tab_name is not null then
390: utl_file.put_line(l_file_handle,')');
391: end if;
392: utl_file.put_line(l_file_handle,'into table '||c4_rec.table_name);
393: utl_file.put_line(l_file_handle,'reenable');
394: utl_file.put_line(l_file_handle,'when fillertabname="'||c4_rec.table_name||'"');
388: if c4_rec.table_name <> nvl(l_prev_tab_name,'-1') then
389: if l_prev_tab_name is not null then
390: utl_file.put_line(l_file_handle,')');
391: end if;
392: utl_file.put_line(l_file_handle,'into table '||c4_rec.table_name);
393: utl_file.put_line(l_file_handle,'reenable');
394: utl_file.put_line(l_file_handle,'when fillertabname="'||c4_rec.table_name||'"');
395: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
396: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
389: if l_prev_tab_name is not null then
390: utl_file.put_line(l_file_handle,')');
391: end if;
392: utl_file.put_line(l_file_handle,'into table '||c4_rec.table_name);
393: utl_file.put_line(l_file_handle,'reenable');
394: utl_file.put_line(l_file_handle,'when fillertabname="'||c4_rec.table_name||'"');
395: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
396: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
397: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
390: utl_file.put_line(l_file_handle,')');
391: end if;
392: utl_file.put_line(l_file_handle,'into table '||c4_rec.table_name);
393: utl_file.put_line(l_file_handle,'reenable');
394: utl_file.put_line(l_file_handle,'when fillertabname="'||c4_rec.table_name||'"');
395: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
396: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
397: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
398: l_prev_tab_name := c4_rec.table_name;
391: end if;
392: utl_file.put_line(l_file_handle,'into table '||c4_rec.table_name);
393: utl_file.put_line(l_file_handle,'reenable');
394: utl_file.put_line(l_file_handle,'when fillertabname="'||c4_rec.table_name||'"');
395: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
396: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
397: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
398: l_prev_tab_name := c4_rec.table_name;
399: end if;
392: utl_file.put_line(l_file_handle,'into table '||c4_rec.table_name);
393: utl_file.put_line(l_file_handle,'reenable');
394: utl_file.put_line(l_file_handle,'when fillertabname="'||c4_rec.table_name||'"');
395: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
396: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
397: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
398: l_prev_tab_name := c4_rec.table_name;
399: end if;
400: utl_file.put_line(l_file_handle,','||c4_rec.column_name);
393: utl_file.put_line(l_file_handle,'reenable');
394: utl_file.put_line(l_file_handle,'when fillertabname="'||c4_rec.table_name||'"');
395: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
396: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
397: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
398: l_prev_tab_name := c4_rec.table_name;
399: end if;
400: utl_file.put_line(l_file_handle,','||c4_rec.column_name);
401:
396: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
397: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
398: l_prev_tab_name := c4_rec.table_name;
399: end if;
400: utl_file.put_line(l_file_handle,','||c4_rec.column_name);
401:
402:
403: end loop;
404: close c4;
401:
402:
403: end loop;
404: close c4;
405: utl_file.put_line(l_file_handle,')');
406: utl_file.fclose(l_file_handle);
407:
408: l_file_handle := utl_file.fopen(p_dir_name,'pm04.ctl','w',l_max_size);
409:
402:
403: end loop;
404: close c4;
405: utl_file.put_line(l_file_handle,')');
406: utl_file.fclose(l_file_handle);
407:
408: l_file_handle := utl_file.fopen(p_dir_name,'pm04.ctl','w',l_max_size);
409:
410: l_in_file.delete;
404: close c4;
405: utl_file.put_line(l_file_handle,')');
406: utl_file.fclose(l_file_handle);
407:
408: l_file_handle := utl_file.fopen(p_dir_name,'pm04.ctl','w',l_max_size);
409:
410: l_in_file.delete;
411: for i in 1..p_no_of_threads
412: loop
425: exit;
426: end if;
427:
428: if c5%rowcount = 1 then
429: utl_file.put_line(l_file_handle,'unrecoverable');
430: utl_file.put_line(l_file_handle,'load data');
431: for i in 1..l_in_file.count
432: loop
433: utl_file.put_line(l_file_handle,l_in_file(i));
426: end if;
427:
428: if c5%rowcount = 1 then
429: utl_file.put_line(l_file_handle,'unrecoverable');
430: utl_file.put_line(l_file_handle,'load data');
431: for i in 1..l_in_file.count
432: loop
433: utl_file.put_line(l_file_handle,l_in_file(i));
434: end loop;
429: utl_file.put_line(l_file_handle,'unrecoverable');
430: utl_file.put_line(l_file_handle,'load data');
431: for i in 1..l_in_file.count
432: loop
433: utl_file.put_line(l_file_handle,l_in_file(i));
434: end loop;
435: utl_file.put_line(l_file_handle,'append');
436: l_prev_tab_name := null;
437: end if;
431: for i in 1..l_in_file.count
432: loop
433: utl_file.put_line(l_file_handle,l_in_file(i));
434: end loop;
435: utl_file.put_line(l_file_handle,'append');
436: l_prev_tab_name := null;
437: end if;
438:
439: if c5_rec.table_name <> nvl(l_prev_tab_name,'-1') then
437: end if;
438:
439: if c5_rec.table_name <> nvl(l_prev_tab_name,'-1') then
440: if l_prev_tab_name is not null then
441: utl_file.put_line(l_file_handle,')');
442: utl_file.put_line(l_file_handle,'');
443: end if;
444: utl_file.put_line(l_file_handle,'into table '||c5_rec.table_name);
445: utl_file.put_line(l_file_handle,'reenable');
438:
439: if c5_rec.table_name <> nvl(l_prev_tab_name,'-1') then
440: if l_prev_tab_name is not null then
441: utl_file.put_line(l_file_handle,')');
442: utl_file.put_line(l_file_handle,'');
443: end if;
444: utl_file.put_line(l_file_handle,'into table '||c5_rec.table_name);
445: utl_file.put_line(l_file_handle,'reenable');
446: utl_file.put_line(l_file_handle,'when fillertabname="'||c5_rec.table_name||'"');
440: if l_prev_tab_name is not null then
441: utl_file.put_line(l_file_handle,')');
442: utl_file.put_line(l_file_handle,'');
443: end if;
444: utl_file.put_line(l_file_handle,'into table '||c5_rec.table_name);
445: utl_file.put_line(l_file_handle,'reenable');
446: utl_file.put_line(l_file_handle,'when fillertabname="'||c5_rec.table_name||'"');
447: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
448: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
441: utl_file.put_line(l_file_handle,')');
442: utl_file.put_line(l_file_handle,'');
443: end if;
444: utl_file.put_line(l_file_handle,'into table '||c5_rec.table_name);
445: utl_file.put_line(l_file_handle,'reenable');
446: utl_file.put_line(l_file_handle,'when fillertabname="'||c5_rec.table_name||'"');
447: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
448: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
449: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
442: utl_file.put_line(l_file_handle,'');
443: end if;
444: utl_file.put_line(l_file_handle,'into table '||c5_rec.table_name);
445: utl_file.put_line(l_file_handle,'reenable');
446: utl_file.put_line(l_file_handle,'when fillertabname="'||c5_rec.table_name||'"');
447: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
448: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
449: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
450: l_prev_tab_name := c5_rec.table_name;
443: end if;
444: utl_file.put_line(l_file_handle,'into table '||c5_rec.table_name);
445: utl_file.put_line(l_file_handle,'reenable');
446: utl_file.put_line(l_file_handle,'when fillertabname="'||c5_rec.table_name||'"');
447: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
448: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
449: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
450: l_prev_tab_name := c5_rec.table_name;
451: end if;
444: utl_file.put_line(l_file_handle,'into table '||c5_rec.table_name);
445: utl_file.put_line(l_file_handle,'reenable');
446: utl_file.put_line(l_file_handle,'when fillertabname="'||c5_rec.table_name||'"');
447: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
448: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
449: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
450: l_prev_tab_name := c5_rec.table_name;
451: end if;
452: utl_file.put_line(l_file_handle,','||c5_rec.column_name);
445: utl_file.put_line(l_file_handle,'reenable');
446: utl_file.put_line(l_file_handle,'when fillertabname="'||c5_rec.table_name||'"');
447: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
448: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
449: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
450: l_prev_tab_name := c5_rec.table_name;
451: end if;
452: utl_file.put_line(l_file_handle,','||c5_rec.column_name);
453:
448: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
449: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
450: l_prev_tab_name := c5_rec.table_name;
451: end if;
452: utl_file.put_line(l_file_handle,','||c5_rec.column_name);
453:
454:
455: end loop;
456: close c5;
453:
454:
455: end loop;
456: close c5;
457: utl_file.put_line(l_file_handle,')');
458: utl_file.fclose(l_file_handle);
459:
460: l_file_handle := utl_file.fopen(p_dir_name,'pm05.ctl','w',l_max_size);
461:
454:
455: end loop;
456: close c5;
457: utl_file.put_line(l_file_handle,')');
458: utl_file.fclose(l_file_handle);
459:
460: l_file_handle := utl_file.fopen(p_dir_name,'pm05.ctl','w',l_max_size);
461:
462: l_in_file.delete;
456: close c5;
457: utl_file.put_line(l_file_handle,')');
458: utl_file.fclose(l_file_handle);
459:
460: l_file_handle := utl_file.fopen(p_dir_name,'pm05.ctl','w',l_max_size);
461:
462: l_in_file.delete;
463:
464: for i in 1..p_no_of_threads
477: exit;
478: end if;
479:
480: if c6%rowcount = 1 then
481: utl_file.put_line(l_file_handle,'unrecoverable');
482: utl_file.put_line(l_file_handle,'load data');
483: for i in 1..l_in_file.count
484: loop
485: utl_file.put_line(l_file_handle,l_in_file(i));
478: end if;
479:
480: if c6%rowcount = 1 then
481: utl_file.put_line(l_file_handle,'unrecoverable');
482: utl_file.put_line(l_file_handle,'load data');
483: for i in 1..l_in_file.count
484: loop
485: utl_file.put_line(l_file_handle,l_in_file(i));
486: end loop;
481: utl_file.put_line(l_file_handle,'unrecoverable');
482: utl_file.put_line(l_file_handle,'load data');
483: for i in 1..l_in_file.count
484: loop
485: utl_file.put_line(l_file_handle,l_in_file(i));
486: end loop;
487: utl_file.put_line(l_file_handle,'append');
488: l_prev_tab_name := null;
489: end if;
483: for i in 1..l_in_file.count
484: loop
485: utl_file.put_line(l_file_handle,l_in_file(i));
486: end loop;
487: utl_file.put_line(l_file_handle,'append');
488: l_prev_tab_name := null;
489: end if;
490:
491: if c6_rec.table_name <> nvl(l_prev_tab_name,'-1') then
489: end if;
490:
491: if c6_rec.table_name <> nvl(l_prev_tab_name,'-1') then
492: if l_prev_tab_name is not null then
493: utl_file.put_line(l_file_handle,')');
494: utl_file.put_line(l_file_handle,'');
495: end if;
496: utl_file.put_line(l_file_handle,'into table '||c6_rec.table_name);
497: utl_file.put_line(l_file_handle,'reenable');
490:
491: if c6_rec.table_name <> nvl(l_prev_tab_name,'-1') then
492: if l_prev_tab_name is not null then
493: utl_file.put_line(l_file_handle,')');
494: utl_file.put_line(l_file_handle,'');
495: end if;
496: utl_file.put_line(l_file_handle,'into table '||c6_rec.table_name);
497: utl_file.put_line(l_file_handle,'reenable');
498: utl_file.put_line(l_file_handle,'when fillertabname="'||c6_rec.table_name||'"');
492: if l_prev_tab_name is not null then
493: utl_file.put_line(l_file_handle,')');
494: utl_file.put_line(l_file_handle,'');
495: end if;
496: utl_file.put_line(l_file_handle,'into table '||c6_rec.table_name);
497: utl_file.put_line(l_file_handle,'reenable');
498: utl_file.put_line(l_file_handle,'when fillertabname="'||c6_rec.table_name||'"');
499: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
500: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
493: utl_file.put_line(l_file_handle,')');
494: utl_file.put_line(l_file_handle,'');
495: end if;
496: utl_file.put_line(l_file_handle,'into table '||c6_rec.table_name);
497: utl_file.put_line(l_file_handle,'reenable');
498: utl_file.put_line(l_file_handle,'when fillertabname="'||c6_rec.table_name||'"');
499: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
500: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
501: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
494: utl_file.put_line(l_file_handle,'');
495: end if;
496: utl_file.put_line(l_file_handle,'into table '||c6_rec.table_name);
497: utl_file.put_line(l_file_handle,'reenable');
498: utl_file.put_line(l_file_handle,'when fillertabname="'||c6_rec.table_name||'"');
499: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
500: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
501: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
502: l_prev_tab_name := c6_rec.table_name;
495: end if;
496: utl_file.put_line(l_file_handle,'into table '||c6_rec.table_name);
497: utl_file.put_line(l_file_handle,'reenable');
498: utl_file.put_line(l_file_handle,'when fillertabname="'||c6_rec.table_name||'"');
499: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
500: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
501: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
502: l_prev_tab_name := c6_rec.table_name;
503: end if;
496: utl_file.put_line(l_file_handle,'into table '||c6_rec.table_name);
497: utl_file.put_line(l_file_handle,'reenable');
498: utl_file.put_line(l_file_handle,'when fillertabname="'||c6_rec.table_name||'"');
499: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
500: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
501: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
502: l_prev_tab_name := c6_rec.table_name;
503: end if;
504: utl_file.put_line(l_file_handle,','||c6_rec.column_name);
497: utl_file.put_line(l_file_handle,'reenable');
498: utl_file.put_line(l_file_handle,'when fillertabname="'||c6_rec.table_name||'"');
499: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
500: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
501: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
502: l_prev_tab_name := c6_rec.table_name;
503: end if;
504: utl_file.put_line(l_file_handle,','||c6_rec.column_name);
505:
500: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
501: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
502: l_prev_tab_name := c6_rec.table_name;
503: end if;
504: utl_file.put_line(l_file_handle,','||c6_rec.column_name);
505:
506:
507: end loop;
508: close c6;
505:
506:
507: end loop;
508: close c6;
509: utl_file.put_line(l_file_handle,')');
510: utl_file.fclose(l_file_handle);
511:
512: l_file_handle := utl_file.fopen(p_dir_name,'pm06.ctl','w',l_max_size);
513:
506:
507: end loop;
508: close c6;
509: utl_file.put_line(l_file_handle,')');
510: utl_file.fclose(l_file_handle);
511:
512: l_file_handle := utl_file.fopen(p_dir_name,'pm06.ctl','w',l_max_size);
513:
514: l_in_file.delete;
508: close c6;
509: utl_file.put_line(l_file_handle,')');
510: utl_file.fclose(l_file_handle);
511:
512: l_file_handle := utl_file.fopen(p_dir_name,'pm06.ctl','w',l_max_size);
513:
514: l_in_file.delete;
515:
516: for i in 1..p_no_of_threads
529: exit;
530: end if;
531:
532: if c7%rowcount = 1 then
533: utl_file.put_line(l_file_handle,'unrecoverable');
534: utl_file.put_line(l_file_handle,'load data');
535: for i in 1..l_in_file.count
536: loop
537: utl_file.put_line(l_file_handle,l_in_file(i));
530: end if;
531:
532: if c7%rowcount = 1 then
533: utl_file.put_line(l_file_handle,'unrecoverable');
534: utl_file.put_line(l_file_handle,'load data');
535: for i in 1..l_in_file.count
536: loop
537: utl_file.put_line(l_file_handle,l_in_file(i));
538: end loop;
533: utl_file.put_line(l_file_handle,'unrecoverable');
534: utl_file.put_line(l_file_handle,'load data');
535: for i in 1..l_in_file.count
536: loop
537: utl_file.put_line(l_file_handle,l_in_file(i));
538: end loop;
539: utl_file.put_line(l_file_handle,'append');
540: utl_file.put_line(l_file_handle,'into table '||c7_rec.table_name);
541: utl_file.put_line(l_file_handle,'reenable');
535: for i in 1..l_in_file.count
536: loop
537: utl_file.put_line(l_file_handle,l_in_file(i));
538: end loop;
539: utl_file.put_line(l_file_handle,'append');
540: utl_file.put_line(l_file_handle,'into table '||c7_rec.table_name);
541: utl_file.put_line(l_file_handle,'reenable');
542: utl_file.put_line(l_file_handle,'when fillertabname="'||c7_rec.table_name||'"');
543: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
536: loop
537: utl_file.put_line(l_file_handle,l_in_file(i));
538: end loop;
539: utl_file.put_line(l_file_handle,'append');
540: utl_file.put_line(l_file_handle,'into table '||c7_rec.table_name);
541: utl_file.put_line(l_file_handle,'reenable');
542: utl_file.put_line(l_file_handle,'when fillertabname="'||c7_rec.table_name||'"');
543: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
544: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
537: utl_file.put_line(l_file_handle,l_in_file(i));
538: end loop;
539: utl_file.put_line(l_file_handle,'append');
540: utl_file.put_line(l_file_handle,'into table '||c7_rec.table_name);
541: utl_file.put_line(l_file_handle,'reenable');
542: utl_file.put_line(l_file_handle,'when fillertabname="'||c7_rec.table_name||'"');
543: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
544: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
545: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
538: end loop;
539: utl_file.put_line(l_file_handle,'append');
540: utl_file.put_line(l_file_handle,'into table '||c7_rec.table_name);
541: utl_file.put_line(l_file_handle,'reenable');
542: utl_file.put_line(l_file_handle,'when fillertabname="'||c7_rec.table_name||'"');
543: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
544: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
545: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
546: end if;
539: utl_file.put_line(l_file_handle,'append');
540: utl_file.put_line(l_file_handle,'into table '||c7_rec.table_name);
541: utl_file.put_line(l_file_handle,'reenable');
542: utl_file.put_line(l_file_handle,'when fillertabname="'||c7_rec.table_name||'"');
543: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
544: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
545: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
546: end if;
547: utl_file.put_line(l_file_handle,','||c7_rec.column_name);
540: utl_file.put_line(l_file_handle,'into table '||c7_rec.table_name);
541: utl_file.put_line(l_file_handle,'reenable');
542: utl_file.put_line(l_file_handle,'when fillertabname="'||c7_rec.table_name||'"');
543: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
544: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
545: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
546: end if;
547: utl_file.put_line(l_file_handle,','||c7_rec.column_name);
548:
541: utl_file.put_line(l_file_handle,'reenable');
542: utl_file.put_line(l_file_handle,'when fillertabname="'||c7_rec.table_name||'"');
543: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
544: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
545: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
546: end if;
547: utl_file.put_line(l_file_handle,','||c7_rec.column_name);
548:
549:
543: utl_file.put_line(l_file_handle,'fields terminated by '||''''||fnd_global.local_chr(01)||'''');
544: utl_file.put_line(l_file_handle,'TRAILING NULLCOLS');
545: utl_file.put_line(l_file_handle,'(fillertabname FILLER POSITION(1) CHAR');
546: end if;
547: utl_file.put_line(l_file_handle,','||c7_rec.column_name);
548:
549:
550: end loop;
551: close c7;
548:
549:
550: end loop;
551: close c7;
552: utl_file.put_line(l_file_handle,')');
553: utl_file.fclose(l_file_handle);
554:
555: ben_dm_utility.message('ROUT','exit:ben_dm_create_control_files.main', 5);
556:
549:
550: end loop;
551: close c7;
552: utl_file.put_line(l_file_handle,')');
553: utl_file.fclose(l_file_handle);
554:
555: ben_dm_utility.message('ROUT','exit:ben_dm_create_control_files.main', 5);
556:
557: end main;