below Package in DB.
IS
TYPE query_res IS REF CURSOR;
PROCEDURE excel_initialize;
PROCEDURE print_headings;
PROCEDURE set_sql (
p_session_id
IN
NUMBER,
p_app_id
IN
NUMBER,
p_page_id
IN
NUMBER,
p_tot_rows
IN
NUMBER,
p_sql
OUT
query_res,
p_tot_sql
OUT
query_res
);
PROCEDURE print_data (
p_session_id
IN NUMBER,
p_app_id
IN
NUMBER,
p_page_id
IN
NUMBER
);
l_session_id
l_ir_id
NUMBER;
l_report_id
NUMBER;
l_app_id
NUMBER;
l_page_id
NUMBER;
l_user_id
VARCHAR2 (10);
l_location
VARCHAR2 (100);
l_month
VARCHAR2 (100);
l_schtype
VARCHAR2 (100);
l_scheme
VARCHAR2 (100);
l_distributor
VARCHAR2 (100);
l_invsegment
VARCHAR2 (100);
l_base_report_id
NUMBER;
PROCEDURE get_excel (
p_session_id
IN
NUMBER,
p_app_id
IN
NUMBER,
p_page_id
IN
NUMBER,
p_static
IN
VARCHAR2,
p_user_id
IN
VARCHAR2,
p_report_output
IN CLOB
);
gv_session_id
gv_company_code
VARCHAR2 (100);
gv_static
VARCHAR2 (1);
gv_user_id
VARCHAR2 (32000);
l_dealer_code
VARCHAR2 (15);
l_ta_scheme
VARCHAR2 (100);
g_report_output
CLOB;
g_report_header
CLOB;
g_report_header2
CLOB;
g_report_header3
CLOB;
g_report_header4
CLOB;
g_report_header5
CLOB;
g_report_header6
CLOB;
g_file_name
VARCHAR2 (2000);
g_report_footer1
CLOB ;
g_report_footer2
CLOB ;
g_report_footer3
CLOB ;
PROCEDURE close_excel;
PROCEDURE ds_get_excel (
p_session_id
IN
NUMBER,
p_app_id
IN
NUMBER,
p_page_id
IN
NUMBER,
p_static
IN
VARCHAR2,
p_user_id
IN
VARCHAR2,
p_report_output
IN CLOB,
p_report_header
IN CLOB,
p_report_header2
CLOB,
p_report_header3
CLOB,
p_report_header4
CLOB,
p_report_header5
CLOB,
p_report_header6
CLOB,
p_file_name
VARCHAR2,
p_report_footer1
CLOB default null,
p_report_footer2
CLOB default null,
p_report_footer3
CLOB default null
);
PROCEDURE ps_ds_get_excel_new (
p_session_id
IN
NUMBER,
p_app_id
IN
NUMBER,
p_page_id
IN
NUMBER,
p_static
IN
VARCHAR2,
p_user_id
IN
VARCHAR2,
p_report_output
IN CLOB,
p_report_header
IN CLOB,
p_report_header2
CLOB,
p_report_header3
CLOB,
p_report_header4
CLOB,
p_report_header5
CLOB,
p_report_header6
CLOB,
p_file_name
VARCHAR2,
p_report_footer1
CLOB DEFAULT NULL,
p_report_footer2
CLOB DEFAULT NULL,
p_report_footer3
CLOB DEFAULT NULL
);
END doy_pk_apex_excel_download;?
IS
PROCEDURE excel_initialize
IS
p_user_id
VARCHAR2 (200) := gv_user_id;
p_session_id
NUMBER
:= gv_session_id;
BEGIN
OWA_UTIL.mime_header (‘application/octet’, FALSE);
HTP.p (
‘Content-Disposition:
attachment; filename=’
|| g_file_name
|| ‘.xls’
);
— HTP.p
(‘Content-type: application/vnd.ms-excel;’);
HTP.p (‘Pragma: cache’);
HTP.p (‘Expires: 0’);
OWA_UTIL.http_header_close;
END;
PROCEDURE print_headings
IS
p_cols
wwv_flow_global.vc_arr2;
p_columns
VARCHAR2 (4000);
p_report_label
VARCHAR2 (4000);
p_disp_condition
VARCHAR2 (2000);
p_disp_condition2
VARCHAR2 (2000);
p_title
VARCHAR2 (2000);
CURSOR get_cols
IS
SELECT column_alias, report_label
FROM apex_application_page_ir_col
WHERE application_id = l_app_id AND page_id = l_page_id
ORDER BY display_order;
CURSOR col_disp_yn (p_col_name VARCHAR2)
IS
SELECT display_condition, display_condition2
FROM apex_application_page_ir_col
WHERE application_id = l_app_id
AND page_id = l_page_id
AND display_condition IS NOT NULL
AND UPPER (column_alias) = UPPER (p_col_name);
l_increment
:= 0;
BEGIN
HTP.p
(‘<table
border=1 style=”background-color:yellow foreground-color:white “>’
);
HTP.p (‘<tr>’);
IF get_cols%ISOPEN
THEN
CLOSE get_cols;
END IF;
FOR get_cols1 IN get_cols
LOOP
p_columns := p_columns || ‘:’ || get_cols1.report_label;
END LOOP;
p_columns
:= SUBSTR (p_columns, 2);p_cols := apex_util.string_to_table (p_columns);
FOR i IN p_cols.FIRST .. p_cols.LAST
LOOP
l_increment := l_increment + 1;
/************for hiding conditionally hidden columns start **********
IF col_disp_yn%ISOPEN THEN
CLOSE col_disp_yn;
END IF;
OPEN col_disp_yn(p_cols(l_increment));
FETCH col_disp_yn INTO p_disp_condition,p_disp_condition2;
CLOSE col_disp_yn;
if p_disp_condition is not null THEN
if p_disp_condition2 <> l_location THEN
l_increment := l_increment + 1;
end if;
end if;
/************for hiding conditionally hidden columns end **********/
–dbms_output.put_line(t_cols(i));
HTP.p
( ‘<td
><font
style=”color:blue;width:50px;font-weight:800″ >’
|| ‘EMPLOYEE ID’
|| ‘</font></td>’
);
p_disp_condition := NULL;
END LOOP;
l_increment
:= 0;HTP.p (‘</tr>’);
HTP.p (‘</table>’);
END;
PROCEDURE set_sql (
p_session_id
IN
NUMBER,
p_app_id
IN
NUMBER,
p_page_id
IN
NUMBER,
p_tot_rows
IN
NUMBER,
p_sql
OUT
query_res,
p_tot_sql
OUT
query_res
)
IS
CURSOR get_ir_id
IS
SELECT interactive_report_id, report_id
FROM apex_application_page_ir_rpt
WHERE session_id = p_session_id
AND page_id = p_page_id
AND base_report_id = NVL (l_base_report_id, base_report_id);
l_ir_id
l_report_id
NUMBER;
p_cols
wwv_flow_global.vc_arr2;
p_tot_cols
wwv_flow_global.vc_arr2;
p_columns
VARCHAR2 (4000);
p_columns1
VARCHAR2 (4000);
p_report_label
VARCHAR2 (4000);
p_format_mask
VARCHAR2 (1000);
p_max
NUMBER;
lv_v_slno
VARCHAR2 (32767);
p_title
VARCHAR2 (50);
CURSOR get_title
IS
SELECT SUBSTR (region_name, 1, 50)
FROM apex_application_page_regions
WHERE application_id = l_app_id
AND page_id = l_page_id
AND source_type = ‘Interactive Report’;
CURSOR get_cols
IS
SELECT report_columns
FROM apex_application_page_ir_rpt
WHERE application_id = p_app_id
AND page_id = p_page_id
AND session_id = p_session_id
AND interactive_report_id = l_ir_id
AND report_id = l_report_id;
CURSOR get_format_mask (p_column VARCHAR2)
IS
SELECT column_alias, report_label, format_mask
FROM apex_application_page_ir_col
WHERE application_id = p_app_id
AND page_id = p_page_id
AND interactive_report_id = l_ir_id
AND column_alias = p_column
/* for hiding ALL columns */
AND display_order NOT BETWEEN 3
AND (SELECT MIN (display_order) – 1
FROM apex_application_page_ir_col
WHERE application_id = p_app_id
AND page_id = p_page_id);
p_set_query
p_set_tot_query
VARCHAR2 (18000);
CURSOR get_query (c_ir_id NUMBER)
IS
SELECT sql_query
FROM apex_application_page_ir
WHERE interactive_report_id = c_ir_id AND page_id = p_page_id;
CURSOR get_conditions (c_ir_id NUMBER, c_report_id NUMBER)
IS
SELECT REPLACE
(REPLACE (condition_sql,
‘#APXWS_EXPR#’,
CONCAT (CONCAT (””, condition_expression),
””)
),
‘#APXWS_EXPR2#’,
CONCAT (CONCAT (””, condition_expression2), ””)
) sql_condition
FROM apex_application_page_ir_cond
WHERE interactive_report_id = c_ir_id
AND application_id = p_app_id
AND report_id = c_report_id
AND page_id = p_page_id
AND condition_enabled = ‘Yes’
AND condition_type = ‘Filter’;
l_sql_query
l_tot_sql_query
VARCHAR2 (32000);
—
l_report_query
VARCHAR2 (32000);
l_tot_report_query
VARCHAR2 (32000);
—
l_query_conditions
VARCHAR2 (24000);
l_sql_condition
VARCHAR2 (24000);
l_conditions_exist
VARCHAR2 (1)
:= ‘N’;
v_title
VARCHAR2 (4000);
BEGIN
IF get_ir_id%ISOPEN
THEN
CLOSE get_ir_id;
END IF;
OPEN get_ir_id;
FETCH get_ir_id
INTO l_ir_id, l_report_id;
CLOSE get_ir_id; /****************************/
IF get_cols%ISOPEN
THEN
CLOSE get_cols;
END IF;
OPEN get_cols;
FETCH get_cols
INTO p_columns;
CLOSE get_cols;
p_cols
:= apex_util.string_to_table (p_columns);p_tot_cols := apex_util.string_to_table (p_columns);
p_max := p_cols.LAST;
p_set_query := ”” || ‘<td>’ || ”’||’;
p_set_tot_query := ”” || ‘<td>’ || ”’||’;
—
/*******************displaying title row start */
— IF p_tot_rows > 0.1 THEN
HTP.p (‘<table border=1
style=”background-color:#FFA500″>’);
IF get_title%ISOPEN
THEN
CLOSE get_title;
END IF;
OPEN get_title;
FETCH get_title
INTO p_title;
CLOSE get_title;
l_sql_query
:= g_report_output;OPEN p_sql FOR TO_CHAR (l_sql_query);
COMMIT;
END set_sql;
PROCEDURE print_data (
p_session_id
IN NUMBER,
p_app_id
IN
NUMBER,
p_page_id
IN
NUMBER
)
IS
p_tot_rows
NUMBER
:= 0;
query_result
query_res;
query_columns
VARCHAR2 (32000);
query_tot_result
query_res;
query_tot_columns
VARCHAR2 (32000);
v_num1
VARCHAR (32000);
v_num2
VARCHAR (32000);
v_num3
VARCHAR (500);
v_num4
VARCHAR (500);
v_num5
VARCHAR (500);
v_num6
VARCHAR (500);
v_num7
VARCHAR (500);
v_num8
VARCHAR (500);
BEGIN
/*executing cursor to find number of rows start
set_sql(p_session_id,p_app_id,p_page_id,0.1,query_result,query_tot_result);
LOOP
FETCH query_result INTO query_columns;
EXIT WHEN query_result%NOTFOUND;
p_tot_rows := p_tot_rows + 1;
–TO find number of
rows;
END LOOP;
CLOSE query_result;
CLOSE query_tot_result;
executing cursor to find number of rows end */
set_sql (p_session_id,
p_app_id,
p_page_id,
p_tot_rows,
query_result,
query_tot_result
);
HTP.p (‘<table border=1>’);
LOOP
FETCH query_result
–INTO V_NUM1;
–,V_NUM2,V_NUM3,V_NUM4,V_NUM5,V_NUM6,V_NUM7,V_NUM8;
INTO query_columns;
EXIT WHEN query_result%NOTFOUND;
HTP.p (‘<tr>’);
HTP.p (query_columns);
–htp.p(‘<br>’||’a'<);
–htp.p(‘b’);
–htp.p(query_columns.”Serial Number”);
–HTP.p(V_NUM1);
HTP.p (‘</tr>’);
END LOOP;
CLOSE query_result;
/* htp.p(‘<table border=1>’);
FETCH query_tot_result INTO query_tot_columns;
htp.p(‘<tr>’);
htp.p(query_tot_columns);
htp.p(‘</tr>’);
CLOSE query_tot_result;
htp.p(‘</table>’);*/
HTP.p (‘</table>’);
HTMLDB_APPLICATION.g_unrecoverable_error := TRUE;
END;
PROCEDURE close_excel
IS
BEGIN
— Send an error code so that the
— rest of the HTML does not render
HTMLDB_APPLICATION.g_unrecoverable_error := TRUE;
END;
PROCEDURE get_excel (
p_session_id
IN
NUMBER,
p_app_id
IN
NUMBER,
p_page_id
IN
NUMBER,
p_static
IN
VARCHAR2,
p_user_id
IN
VARCHAR2,
p_report_output
IN CLOB
)
IS
BEGIN
l_session_id := p_session_id;
l_app_id := p_app_id;
l_page_id := p_page_id;
gv_session_id := p_session_id;
gv_static := p_static;
gv_user_id := p_user_id;
g_report_output := p_report_output;
excel_initialize;
— print_headings;
print_data (p_session_id, p_app_id, p_page_id);
— pro_error (1 ,’a3′ );
—
close_excel;
END;
PROCEDURE ds_set_sql (
p_session_id
IN
NUMBER,
p_app_id
IN
NUMBER,
p_page_id
IN
NUMBER,
p_tot_rows
IN
NUMBER,
p_sql
OUT
query_res,
p_tot_sql
OUT
query_res
)
IS
CURSOR get_ir_id
IS
SELECT interactive_report_id, report_id
FROM apex_application_page_ir_rpt
WHERE session_id = p_session_id
AND page_id = p_page_id
AND base_report_id = NVL (l_base_report_id, base_report_id);
l_ir_id
l_report_id
NUMBER;
p_cols
wwv_flow_global.vc_arr2;
p_tot_cols
wwv_flow_global.vc_arr2;
p_columns
VARCHAR2 (4000);
p_columns1
VARCHAR2 (4000);
p_report_label
VARCHAR2 (4000);
p_format_mask
VARCHAR2 (1000);
p_max
NUMBER;
lv_v_slno
VARCHAR2 (32767);
p_title
VARCHAR2 (50);
CURSOR get_title
IS
SELECT SUBSTR (region_name, 1, 50)
FROM apex_application_page_regions
WHERE application_id = l_app_id
AND page_id = l_page_id
AND source_type = ‘Interactive Report’;
CURSOR get_cols
IS
SELECT report_columns
FROM apex_application_page_ir_rpt
WHERE application_id = p_app_id
AND page_id = p_page_id
AND session_id = p_session_id
AND interactive_report_id = l_ir_id
AND report_id = l_report_id;
CURSOR get_format_mask (p_column VARCHAR2)
IS
SELECT column_alias, report_label, format_mask
FROM apex_application_page_ir_col
WHERE application_id = p_app_id
AND page_id = p_page_id
AND interactive_report_id = l_ir_id
AND column_alias = p_column
/* for hiding ALL columns */
AND display_order NOT BETWEEN 3
AND (SELECT MIN (display_order) – 1
FROM apex_application_page_ir_col
WHERE application_id = p_app_id
AND page_id = p_page_id);
p_set_query
p_set_tot_query
VARCHAR2 (18000);
CURSOR get_query (c_ir_id NUMBER)
IS
SELECT sql_query
FROM apex_application_page_ir
WHERE interactive_report_id = c_ir_id AND page_id = p_page_id;
CURSOR get_conditions (c_ir_id NUMBER, c_report_id NUMBER)
IS
SELECT REPLACE
(REPLACE (condition_sql,
‘#APXWS_EXPR#’,
CONCAT (CONCAT (””, condition_expression),
””)
),
‘#APXWS_EXPR2#’,
CONCAT (CONCAT (””, condition_expression2), ””)
) sql_condition
FROM apex_application_page_ir_cond
WHERE interactive_report_id = c_ir_id
AND application_id = p_app_id
AND report_id = c_report_id
AND page_id = p_page_id
AND condition_enabled = ‘Yes’
AND condition_type = ‘Filter’;
l_sql_query
l_tot_sql_query
VARCHAR2 (32000);
—
l_report_query
VARCHAR2 (32000);
l_tot_report_query
VARCHAR2 (32000);
—
l_query_conditions
VARCHAR2 (24000);
l_sql_condition
VARCHAR2 (24000);
l_conditions_exist
VARCHAR2 (1)
:= ‘N’;
v_title
VARCHAR2 (4000);
BEGIN
–lv_v_slno := gv_slno;
IF get_ir_id%ISOPEN
THEN
CLOSE get_ir_id;
END IF;
OPEN get_ir_id;
FETCH get_ir_id
INTO l_ir_id, l_report_id;
CLOSE get_ir_id; /****************************/
IF get_cols%ISOPEN
THEN
CLOSE get_cols;
END IF;
OPEN get_cols;
FETCH get_cols
INTO p_columns;
CLOSE get_cols;
p_cols
:= apex_util.string_to_table (p_columns);p_tot_cols := apex_util.string_to_table (p_columns);
p_max := p_cols.LAST;
p_set_query := ”” || ‘<td>’ || ”’||’;
p_set_tot_query := ”” || ‘<td>’ || ”’||’;
—
/*******************displaying title row start */
— IF p_tot_rows > 0.1 THEN
HTP.p (‘<table border=1
style=”background-color:#FFA500″>’);
THEN
CLOSE get_title;
END IF;
OPEN get_title;
FETCH get_title
INTO p_title;
CLOSE get_title;
–select v_heading into v_title from test_heading;
— pro_error (1 ,’n1′ );
IF g_report_header IS NOT NULL
THEN
INSERT INTO ap_t_apex_report_heading_n
(report_id, report_header
)
VALUES (p_page_id, g_report_header
);
END IF;
IF g_report_header2 IS NOT NULL
THEN
INSERT INTO ap_t_apex_report_heading_n
(report_id, report_header
)
VALUES (p_page_id, g_report_header2
);
END IF;
IF g_report_header3 IS NOT NULL
THEN
INSERT INTO ap_t_apex_report_heading_n
(report_id, report_header
)
VALUES (p_page_id, g_report_header3
);
END IF;
IF g_report_header4 IS NOT NULL
THEN
INSERT INTO ap_t_apex_report_heading_n
(report_id, report_header
)
VALUES (p_page_id, g_report_header4
);
END IF;
IF g_report_header5 IS NOT NULL
THEN
INSERT INTO ap_t_apex_report_heading_n
(report_id, report_header
)
VALUES (p_page_id, g_report_header5
);
END IF;
IF g_report_header6 IS NOT NULL
THEN
INSERT INTO ap_t_apex_report_heading_n
(report_id, report_header
)
VALUES (p_page_id, g_report_header6
);
END IF;
FOR i IN (SELECT report_header
FROM ap_t_apex_report_heading_n
WHERE report_id = p_page_id)
LOOP
HTP.p (i.report_header);
END LOOP;
HTP.p (
‘</table>’);COMMIT;
l_sql_query := g_report_output;
OPEN p_sql FOR TO_CHAR (l_sql_query);
END ds_set_sql;
PROCEDURE ds_print_data (
p_session_id
IN NUMBER,
p_app_id
IN
NUMBER,
p_page_id
IN
NUMBER
)
IS
p_tot_rows
NUMBER
:= 0;
query_result
query_res;
query_columns
VARCHAR2 (32000);
query_tot_result
query_res;
query_tot_columns
VARCHAR2 (32000);
v_num1
VARCHAR (32000);
v_num2
VARCHAR (32000);
v_num3
VARCHAR (500);
v_num4
VARCHAR (500);
v_num5
VARCHAR (500);
v_num6
VARCHAR (500);
v_num7
VARCHAR (500);
v_num8
VARCHAR (500);
BEGIN
ds_set_sql (p_session_id,
p_app_id,
p_page_id,
p_tot_rows,
query_result,
query_tot_result
);
HTP.p (‘<table border=1>’);
LOOP
FETCH query_result
INTO query_columns;
EXIT WHEN query_result%NOTFOUND;
HTP.p (‘<tr>’);
HTP.p (query_columns);
HTP.p (‘</tr>’);
END LOOP;
CLOSE query_result;
IF g_report_footer1 IS NOT NULL
THEN
HTP.p (‘<tr>’);
HTP.p (g_report_footer1);
HTP.p (‘</tr>’);
END IF;
IF g_report_footer2 IS NOT NULL
THEN
HTP.p (‘<tr>’);
HTP.p (g_report_footer2);
HTP.p (‘</tr>’);
END IF;
IF g_report_footer3 IS NOT NULL
THEN
HTP.p (‘<tr>’);
HTP.p (g_report_footer3);
HTP.p (‘</tr>’);
END IF;
HTP.p (
‘</table>’);HTP.p (l_ta_scheme);
HTMLDB_APPLICATION.g_unrecoverable_error := TRUE;
END;
PROCEDURE ds_get_excel (
p_session_id
IN
NUMBER,
p_app_id
IN
NUMBER,
p_page_id
IN
NUMBER,
p_static
IN
VARCHAR2,
p_user_id
IN
VARCHAR2,
p_report_output
IN CLOB,
p_report_header
IN CLOB,
p_report_header2
CLOB,
p_report_header3
CLOB,
p_report_header4
CLOB,
p_report_header5
CLOB,
p_report_header6
CLOB,
p_file_name
VARCHAR2,
p_report_footer1
CLOB,
p_report_footer2
CLOB,
p_report_footer3
CLOB
)
IS
BEGIN
l_session_id := p_session_id;
l_app_id := p_app_id;
l_page_id := p_page_id;
gv_session_id := p_session_id;
gv_static := p_static;
gv_user_id := p_user_id;
g_report_output := p_report_output;
g_report_header := p_report_header;
g_report_header2 := p_report_header2;
g_report_header3 := p_report_header3;
g_report_header4 := p_report_header4;
g_report_header5 := p_report_header5;
g_report_header6 := p_report_header6;
g_file_name := p_file_name;
g_report_footer1 := p_report_footer1;
g_report_footer2 := p_report_footer2;
g_report_footer3 := p_report_footer3;
excel_initialize;
ds_print_data (p_session_id, p_app_id, p_page_id);
g_report_header := NULL;
g_report_header2 := NULL;
g_report_header3 := NULL;
g_report_header4 := NULL;
g_report_header5 := NULL;
g_report_header6 := NULL;
g_file_name := ‘Excel’;
HTP.p (‘<tr><td > ” </td></tr>’);
HTP.p (‘<tr><td >
” </td></tr>’);
END;
PROCEDURE ps_ds_get_excel_new (
p_session_id
IN
NUMBER,
p_app_id
IN
NUMBER,
p_page_id
IN
NUMBER,
p_static
IN
VARCHAR2,
p_user_id
IN
VARCHAR2,
p_report_output
IN CLOB,
p_report_header
IN CLOB,
p_report_header2
CLOB,
p_report_header3
CLOB,
p_report_header4
CLOB,
p_report_header5
CLOB,
p_report_header6
CLOB,
p_file_name
VARCHAR2,
p_report_footer1
CLOB DEFAULT NULL,
p_report_footer2
CLOB DEFAULT NULL,
p_report_footer3
CLOB DEFAULT NULL
)
IS
— this procedure do not includes HTML tags in Excel
output.
p_sql
query_res;
l_sql_query
VARCHAR2 (32000);
query_columns
VARCHAR2 (32000);
BEGIN
g_file_name := p_file_name;
/*For initializing the Excel call*/
excel_initialize;
/*Printing the column header*/
IF p_report_header IS NOT NULL
THEN
HTP.p (TO_CHAR (p_report_header));
END IF;
IF p_report_header2 IS NOT NULL
THEN
HTP.p (TO_CHAR (p_report_header2));
END IF;
IF p_report_header3 IS NOT NULL
THEN
HTP.p (TO_CHAR (p_report_header3));
END IF;
IF p_report_header4 IS NOT NULL
THEN
HTP.p (TO_CHAR (p_report_header4));
END IF;
IF p_report_header5 IS NOT NULL
THEN
HTP.p (TO_CHAR (p_report_header5));
END IF;
IF p_report_header6 IS NOT NULL
THEN
HTP.p (TO_CHAR (p_report_header6));
END IF;
HTP.p (
”);/*Printing the data values from query */
OPEN p_sql FOR TO_CHAR (p_report_output);
LOOP
FETCH p_sql
INTO query_columns;
EXIT WHEN p_sql%NOTFOUND;
HTP.p (query_columns);
END LOOP;
CLOSE p_sql;
HTP.p (
”);HTP.p (TO_CHAR (p_report_footer1));
HTP.p (TO_CHAR (p_report_footer2));
HTP.p (TO_CHAR (p_report_footer3));
HTMLDB_APPLICATION.g_unrecoverable_error
:= TRUE;—
Closing the Excel call
EXCEPTION
WHEN OTHERS
THEN
NULL;
END;
END doy_pk_apex_excel_download;
?
custom package (doy_pk_apex_excel_download.ps_ds_get_excel_new). This process
is used to generate Excel file .
Date’ || CHR (9) || SYSDATE;
< 100
sysdate+30′;
“pattern_number”,
“item_name”,
“customer_name”,
“poured_quantity”,
“expiry_date”
‘;
(SYSDATE, ‘DDMMYYYY _HH24MISS’);
doy_pk_apex_excel_download.ps_ds_get_excel_new (p_session_id,
p_app_id,
p_page_id,
p_static,
p_user_id,
p_report_output,
p_report_header,
p_report_header2,
p_report_header3,
NULL,
NULL,
v_filename
);
one button to submit the above page process.