PROCEDURE print_group_report(p_file_name IN VARCHAR2 DEFAULT 'excel_report') AS v_app_id NUMBER := v('APP_ID'); v_app_user VARCHAR2(200) := v('APP_USER'); v_session_id VARCHAR2(50) := v('APP_SESSION'); v_err VARCHAR2(32767); v_rep_header_err VARCHAR2(32767); v_rep_values_err VARCHAR2(32767); v_file_name VARCHAR2(300); v_exception EXCEPTION; v_loop_exception EXCEPTION; v_head VARCHAR2(32767); t_code md_tables.table_code%TYPE; v_xml_out VARCHAR2(32767); v_region_sql VARCHAR2(32767); v_column_cursor pls_integer; v_column_list dbms_sql.desc_tab; v_number_of_cols NUMBER; v_column_list_name VARCHAR2(32767); -- v_uf_name VARCHAR(64); rc INTEGER; BEGIN HTP.INIT; -- rc := OWA.initialize; --htp.nl; -- HTP.PS; v_region_sql := 'select FIELD_NAME, FIELD_CODE, FIELD_NUM from md_fields '; /*where tablle_id in (select table_id from md_tables where grp_name like ' || p_file_name;*/ v_column_cursor := dbms_sql.open_cursor; dbms_sql.parse(v_column_cursor, v_region_sql, dbms_sql.native); dbms_sql.describe_columns(v_column_cursor, v_number_of_cols, v_column_list); dbms_sql.close_cursor(v_column_cursor); v_file_name := trim(p_file_name) || '.xls'; -- Set the MIME type owa_util.mime_header('application/octet', FALSE); --owa_util.mime_header( 'text/html', FALSE, 'utf-8' ); --htp.NEXTID(null); -- Set the name of the file htp.p('Content-Disposition: attachment; filename="' || v_file_name || '"'); -- Close the HTTP Header owa_util.http_header_close; htp.prn(' xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:html="http://www.w3.org/TR/REC-html40"> 8580 15180 120 45 False False ' ); FOR t_code IN (SELECT DISTINCT table_code FROM md_tables WHERE dm_id = 'U' AND table_id in (select table_id from md_tables where grp_name like p_file_name))--v_uf_name.grp_name)) LOOP htp.prn(' '); htp.prn(''); FOR i IN 1 .. v_number_of_cols LOOP v_head := ''|| v_column_list(i).col_name ||''; htp.p(v_head); end loop; htp.prn(''); pkg_export_excel.v_top_number_of_columns := v_number_of_cols; pkg_export_excel.v_top_column_list := v_column_list; pkg_export_excel.get_usable_sql(v_region_sql, pkg_export_excel.v_top_region_sql); --pkg_export_excel.print_report_values(p_page_id,v_app_id,v_app_user,v_session_id,t_code.table_code,v_rep_values_err); v_table_regional_sql := v_top_region_sql || ' where table_code like ' || '''' || t_code.table_code || ''''; pkg_export_excel.print_report_values(v_app_id,v_app_user,v_session_id); htp.prn('
'); END LOOP; htp.prn('
'); htmldb_application.g_unrecoverable_error := true; -- htp.p(sqlerrm); /*OWA.init_cgi_env (9 , namelist , valuelist );*/ -- END LOOP; --owa_util.showpage; END print_group_report;