S mode make adjustments below
uncommited_changes EXCEPTION; BEGIN IF NAME_IN('SYSTEM.FORM_STATUS') <> 'QUERY' THEN RAISE uncommited_changes; END IF;
FIRST_RECORD;
show_progress ('Формирование
списка полей для экспорта...'); num_items_v := setup_items
(cur_block_c);
show_progress ('Открытие временного файла...'); -- for C- S mode make adjustments below outfilename_v := tempfilename; outfile_v := TEXT_IO.FOPEN
(tempdir_pcoutfilename_v, 'w');
show_progress ('Формирование
строки заголовков столбцов...'); line_v := NULL; FOR i IN 1 .. num_items_v LOOP line_v := line_v format_value
(item_tab(i).prompt); IF i < num_items_v THEN line_v
:= line_v CHR(9); END IF; END LOOP; TEXT_IO.PUT_LINE(outfile_v, line_v);
LOOP IF MOD (counter_v, 100) = 0 THEN show_progress ( 'Форматирование записей блока
(' TO_CHAR(counter_v,'99990') ')...' ); END IF;
counter_v := counter_v + 1; line_v := NULL; FOR i IN 1 .. num_items_v LOOP line_v := line_v format_value ( NAME_IN (cur_block_c'.
'item_tab(i).name), item_tab(i).datatype ); IF i < num_items_v THEN line_v
:= line_v CHR(9); END IF; END LOOP; TEXT_IO.PUT_LINE(outfile_v, line_v);
EXIT WHEN NAME_IN('SYSTEM.LAST_RECORD')
= 'TRUE'; NEXT_RECORD; END LOOP; TEXT_IO.FCLOSE(outfile_v); item_tab.DELETE; GO_RECORD(TO_NUMBER(cur_record_c)); GO_ITEM (cur_item_c);
show_progress ( 'Всего экспортировано '
TO_CHAR(counter_v) ' записей' ); WEB.SHOW_DOCUMENT(cgi_script_pc
'?' outfilename_v, '_blank'); --host('cmd /C start excel '
outfilename_v); -- test in C-S mode EXCEPTION WHEN uncommited_changes THEN message('Перед выполнеием экспорта,
сохраните сделанные изменения!'); WHEN OTHERS THEN IF TEXT_IO.IS_OPEN(outfile_v)
THEN TEXT_IO.FCLOSE(outfile_v); END IF; RAISE; END to_excel; END fp_exp;
Не забудьте про cgi скрипт!
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий