Hi All,
I would really appreciate if someone can help me.
I am calling a report from a form.
It works well on Client/Server but on the Web it takes lots of time and hangs.
Unfortunately it doesn't display any errors.
This is how I built the When-button-pressed code: (This is a sample test code..)
declare
plid PARAMLIST;
vRep_server varchar2(30);
vRep_format varchar2(30);
vForceRunProd varchar2(10);
vRep varchar2(30);
vConnect varchar2(200);
vUrl varchar2(200);
vParamTitle varchar2(500);
repid report_object;
vTomaxKey varchar2(8) := 'ToMaX123';
rep_no number;
p_l varchar2(200);
v_report_id Report_Object;
vc_report_job_id varchar2(100);
vc_rep_status varchar2(100);
begin
if form_success then
-- v_report_id := FIND_REPORT_OBJECT('REPORT19');
-- SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_COMM_MODE,SYNCHRONOUS);
-- SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESTYPE,CACHE);
-- SET_REPORT_OBJECT_PROPERTY(v_REPORT_id,REPORT_DESFORMAT,'PDF');
plid := get_parameter_List('testrep');
if not id_null(plid) then
destroy_parameter_list(plid);
end if;
plid := create_parameter_list('testrep');
rep_no := 32;
add_print_params(plid, 'P_TITLE', TEXT_PARAMETER, 'ACCOUNT REPORT');
IF get_application_property(user_interface) = 'WEB' THEN
--tchar := b_security.encrypt('ToMaX123',
visp.user_id||','||dbuser.encrypt('d3cR',visp.passwd)||','||to_char(tmxgbl.my_site));
--tmx_msg('tchar='||tchar);
--tchar := b_security.decrypt('ToMaX123',tchar);
--tmx_msg('decrypted tchar='||tchar);
add_print_params(plid, 'HHMISS', TEXT_PARAMETER,
to_char(sysdate,'HH24MISS')); -- This will enforce no caching.
add_print_params(plid, 'RNI',TEXT_PARAMETER,
b_security.encrypt(vTomaxKey,
visp.user_id||','||dbuser.encrypt('d3cR',visp.passwd)||','||to_char(tmxgbl.my_site)));
add_print_params(plid, 'RNRNI',TEXT_PARAMETER,
b_security.encrypt(vTomaxKey, to_char(rep_no)));
--add_print_params(plid, 'P_REPORT_NO', TEXT_PARAMETER,
to_char(rep_no)); -- Removed for Security (mww 3/1/01)
--add_print_params(plid, 'P_RNET_USER_ID', TEXT_PARAMETER,
visp.user_id);
--add_print_params(plid, 'P_RNET_my_site', TEXT_PARAMETER,
tmxgbl.my_site);
--add_print_params(plid, 'P_RNET_passwd', TEXT_PARAMETER,
visp.opaque(visp.passwd));
add_print_params(plid, 'P_USER_INTERFACE', TEXT_PARAMETER, 'WEB');
ELSE
--add_print_params(plid, 'RNI',TEXT_PARAMETER, b_security.encrypt('ToMaX123',
visp.user_id||','||visp.passwd||','||to_char(tmxgbl.my_site)||','||to_char(rep_no)));
if rep_no > 0 then
add_print_params(plid, 'P_REPORT_NO', TEXT_PARAMETER,
to_char(rep_no));
end if;
add_print_params(plid, 'P_RNET_USER_ID', TEXT_PARAMETER, visp.user_id);
add_print_params(plid, 'P_RNET_my_site', TEXT_PARAMETER,
tmxgbl.my_site);
add_print_params(plid, 'P_RNET_passwd', TEXT_PARAMETER, visp.passwd);
add_print_params(plid, 'P_USER_INTERFACE', TEXT_PARAMETER, 'CS');
END IF;
add_parameter(plid, 'PARAMFORM', TEXT_PARAMETER, 'NO');
add_parameter(plid, 'DESTYPE', TEXT_PARAMETER, 'PREVIEW');
add_parameter(plid, 'DESFORMAT', TEXT_PARAMETER, 'PDF');
-- vForceRunProd := get_sys_env('FORCE_RUN_PRODUCT');
TOOL_env.getvar('FORCE_RUN_PRODUCT',vForceRunProd);
:parameter.param_list := rtrim(:parameter.param_list, '+');
IF get_application_property(user_interface) != 'WEB' OR
vForceRunProd = 'Y' THEN
Run_Product(REPORTS,'testrep.rep', SYNCHRONOUS, RUNTIME, FILESYSTEM,
plid, NULL);
ELSE
-- IF Running on the Web read the Report Server name and the report
format from the Registry
TOOL_env.getvar('WEB_REPSERVER_NAME',vRep_server);
TOOL_env.getvar('FORMS60_REPFORMAT',vRep_format);
-- Read the first part of the URL from the Registry
--vUrl := get_sys_env('WEB_CGIREPORT_LOC');
TOOL_env.getvar('WEB_CGIREPORT_LOC',vUrl);
-- Format the connect string
vConnect := upper(get_application_property(username))||'/'||
--upper(get_application_property(password));
IF get_application_property(connect_string) is not null then
vConnect :=
vConnect||'@'||upper(get_application_property(connect_string));
END IF;
-- Run the report
web.show_document('http://'||vUrl||'?report='||'finalrep.rep'||'+destype=CACHE+desformat='||vrep_format||'+server='||vrep_server||'+userid='||vconnect||'+'||:parameter.Param_list||'+tolerance=0');
END IF;
Set_Application_Property(CURSOR_STYLE, 'DEFAULT');
clear_message;
synchronize; -- update screen
end if;
end;
Where:
add_params( ) adds the parameter to the parameter list and includes the parameter into
the :parameter.param_list field.
RNI,RNRNI,RNET_USER_ID,RNET_PASSWD etc. are for security of the application since the
form and report are on the web run in along with another application.
--
Please see the official ORACLE-L FAQ: http://www.orafaq.net
--
Author: Sesi Odury
INET: [EMAIL PROTECTED]
Fat City Network Services -- 858-538-5051 http://www.fatcity.com
San Diego, California -- Mailing list and web hosting services
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).