Calling report from a form with user input parameters
Hello,
I am new to Oracle reports. I have an application coded in 6i. I am currently running the application in Oracle Forms Builder 9i. There are also few reports which are called from the forms. Since the application was developed in 6i, the report was called using Run_Product. The forms pass a set of user parameters to the report using the parameter list pl_id. The syntax used was Run_Product(REPORTS, 'D:\Report\sales.rdf', SYNCHRONOUS, RUNTIME,FILESYSTEM, pl_id, NULL);
I learnt that the Run_product doesnt work in 9i and we need to use run_report_object. I have changed the code to use run_report_object and using web.show_document () i am able to run the report from the form. There are 2 parameters that need to be passed from forms to reports. The parameters are from_date and to_date which the user will be prompted to enter on running the form. In the report, the initial values for these parametes are defined. So, the report runs fine for the initial value always. But when i try to change the user inputs for the form_date and to_date, the report output doesnt seem to take the new values, instead the old report with the initial values(defined in the report) runs again.
Can someone give me the code to pass the user defined parameters to the report from the forms? I have defined a report object in the forms node as REPTEST and defined a parameter list pl_id and added form_date and to_date to pl_id and used the following coding:
vrepid := FIND_REPORT_OBJECT ('REPTEST');
vrep := RUN_REPORT_OBJECT (vrepid,pl_id);
But this doesnt work.
Also, Should the parameters defined in the forms and reports have the same name?
Thanks for the quick response Denis.
I had referred to the document link before and tried using the RUN_REPORT_OBJECT_PROC procedure and ENCODE functions as given in the doc and added the following SET_REPORT_OBJECT_PROPERTY in the RUN_REPORT_OBJECT_PROC :
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,' FROM_DATE='||:BLK_INPUT.FROM_DATE||' TO_DATE='||:BLK_INPUT.TO_DATE||' paramform=no');
But this also dint work. Please help me understand what difference does setting paramform=no OR paramform=yes make?
In the report, i have defined the user parameters as FROM_DATE and TO_DATE respectively so that they match the form datablock BLK_INPUT items FROM_DATE and TO_DATE.
My WHEN_BUTTON_PRESSED trigger is as below:
DECLARE
report_id report_object;
vrep VARCHAR2 (100);
v_show_document VARCHAR2 (2000) := '/reports/rwservlet?';
v_connect VARCHAR2 (30) := '&userid=scott/tiger@oracle';
v_report_server VARCHAR2 (30) := 'repserver90';
BEGIN
report_id:= find_report_object('REPTEST');
-- Call the generic PL/SQL procedure to run the Reports
RUN_REPORT_OBJECT_PROC( report_id,'repserver90','PDF',CACHE,'D:\Report\sales.rdf','paramform=no','/reports/rwservlet');
END;
... and the SET_REPORT_OBJECT_PROPERTY code in the RUN_REPORT_OBJECT_PROC procedure is as:
PROCEDURE RUN_REPORT_OBJECT_PROC(
report_id REPORT_OBJECT,
report_server_name VARCHAR2,
report_format VARCHAR2,
report_destype_name NUMBER,
report_file_name VARCHAR2,
report_otherparam VARCHAR2,
reports_servlet VARCHAR2) IS
report_message VARCHAR2(100) :='';
rep_status VARCHAR2(100) :='';
vjob_id VARCHAR2(4000) :='';
hidden_action VARCHAR2(2000) :='';
v_report_other VARCHAR2(4000) :='';
i number (5);
c char;
c_old char;
c_new char;
BEGIN
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_COMM_MODE,SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_FILENAME,report_file_name);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_SERVER,report_server_name);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE,report_destype_name);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESFORMAT,report_format);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,' FROM_DATE='||:BLK_INPUT.FROM_DATE||' TO_DATE='||:BLK_INPUT.TO_DATE||' paramform=no');
hidden_action := hidden_action ||'&report='||GET_REPORT_OBJECT_PROPERTY(report_id,REPORT_FILENAME);
hidden_action := hidden_action||'&destype='||GET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE);
hidden_action := hidden_action||'&desformat='||GET_REPORT_OBJECT_PROPERTY (report_id,REPORT_DESFORMAT);
hidden_action := hidden_action ||'&userid='||get_application_property(username)||'/'||get_application_property(password)||'@'||get_application_property(connect_string);
c_old :='@';
FOR i IN 1..LENGTH(report_otherparam) LOOP
c_new:= substr(report_otherparam,i,1);
IF (c_new =' ') THEN
c:='&';
ELSE
c:= c_new;
END IF;
-- eliminate multiple blanks
IF (c_old =' ' and c_new = ' ') THEN
null;
ELSE
v_report_other := v_report_other||c;
END IF;
c_old := c_new;
END LOOP;
hidden_action := hidden_action ||'&'|| v_report_other;
hidden_action := reports_servlet||'?_hidden_server='||report_server_name|| encode(hidden_action);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,'pfaction='||hidden_action||' '||report_otherparam);
-- run Reports
report_message := run_report_object(report_id);
rep_status := report_object_status(report_message);
IF rep_status='FINISHED' THEN
vjob_id :=substr(report_message,length(report_server_name)+2,length(report_message));
message('job id is'||vjob_id);pause;
WEB.SHOW_DOCUMENT(reports_servlet||'/getjobid'||vjob_id||'?server='||report_server_name,' _blank');
ELSE
--handle errors
null;
END IF;
In the code - " hidden_action := hidden_action ||'&'|| v_report_other; " in the RUN_REPORT_OBJECT_PROC procedure above, how do i make sure that the v_report_other variable reflects the user input parameters FROM_DATE and TO_DATE ??? v_report_other is initialised as v_report_other VARCHAR2(4000) :=''; in the procedure. Will ensuring that the v_report_other contains the user input parameters FROM_DATE and TO_DATE ensure that my report will run fine for the input parameters?
Thanks in advance.
Edited by: user10713842 on Apr 7, 2009 6:05 AM
Similar Messages
-
Calling reports from oracle forms 9i
Hi
I succeded to call reports from oracle forms but for I have a problem for only one report so I can't call it. this a part of the code I'm using :
declare
pl_id2 ParamList;
pl_name2 VARCHAR2(30) := 'liste2';
v_rep VARCHAR2(100);
rep_status VARCHAR2(20);
begin
pl_id2 := get_parameter_list(pl_name2);
if (Id_Null(pl_id2) )THEN
pl_id2 := Create_Parameter_List(pl_name2);
IF NOT Id_Null(pl_id2) THEN
add_parameter(pl_id2,'mois',TEXT_PARAMETER,:mois);
END IF;
end if;
IF NOT Id_Null(pl_id2) THEN
if(:mois is not null) then
v_rep := RUN_REPORT_OBJECT('My_report',pl_id2);
message(v_rep);
rep_status := REPORT_OBJECT_STATUS(v_rep);
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED') LOOP
rep_status := report_object_status(v_rep);
END LOOP;
IF rep_status = 'FINISHED' THEN
WEB.SHOW_DOCUMENT('/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=repserver','_blank');
ELSE
message('Error when running report');
END IF;
end;
the problem I've remarqued is that the function message(v_rep) is always returning the value :'repserver_0'.
so when I execute the previous code I'm getting the 2 messages : 'repserver_0' and 'Error when running report'.
Rq: the report my_report is running very well in report builder.
does someone see where is the problem so can help me??
thanx.Hi,
This usually happens when the report fails on the report server. To obtain details on why a particular report has failed, use the showjobs page :
http://server.domain:PORT/reports/rwservlet/showjobs?server=repserver
and check the detailed error occured.
This is logged as Bug:3017948. It is marked to be fixed in version 9.0.4 (Reports 10g) and also has one-off patches for version 9.0.2.3 on Windows platforms. If you need further assistance about patches, please raise a Service Request (SR) with Support via Metalink (http://metalink.oracle.com).
Regards,
-Bulent -
Calling Report from Oracle form 11g
I am new to Forms 11g, trying to call report from Oracle forms 11g .
I want to call report from oracle forms, but its giving error.
Below is the code
DECLARE
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
rep_status VARCHAR2(20);
BEGIN
repid := FIND_REPORT_OBJECT('empreport'); -- report node in forms builder
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_EXECUTION_MODE, BATCH);
set_report_object_property ( repid, report_filename, 'empreport.rdf' ); -- report name
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,cache);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'PDF');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'RptSvr'); -- report server name
v_rep := RUN_REPORT_OBJECT(repid);
rep_status := REPORT_OBJECT_STATUS(v_rep);
if
rep_status = 'FINISHED'
then
WEB.SHOW_DOCUMENT('http://inorasrv-pc:7001/reports/dtd/rwservlet/getjobid='||v_rep||'?server='||'RptSvr','_blank');
else
message ( 'error while running reports-object ' || error_text );
message ( ' ' );
clear_message;
end if;
end;
Above code giving following error :
Unable to connect to report server RptSvr
I think my report servername is wrong
Where to find report server name in 11g.
I am Using weblogic server, so can i give weblogic server name
Thanks in advance.
Edited by: parapr on Aug 17, 2012 1:52 AM
Edited by: parapr on Aug 17, 2012 3:21 AMHi,
You have to have the report server
a. Installed and configured
b. Running.
See
http://docs.oracle.com/cd/E21764_01/bi.1111/b32121/pbr_strt001.htm
http://docs.oracle.com/cd/E17904_01/bi.1111/b32121/pbr_verify004.htm
http://docs.oracle.com/cd/E17904_01/bi.1111/b32121/pbr_conf003.htm#i1007341
If you are using rwservlet then you will find the name from the Configuration file referred to in the last link.
Cheers, -
Calling Report From Oracle Forms
Hi
I am calling this one report from oracle forms, I am using global temporary table to run that report. I am first inserting data into the temporary table through oracle form and then i am calling report in that form to view the data in that temporary table. The problem is, we can not view the data of an other session if we are using temporary table. When i call report from that form a new session get created due to which i can not see the data. Is there any method of calling report from oracle form that a same session is used to run the report?
Thanks.As you mention Forms and Reports do not share the database session. I had the same problem and resolved it using record groups and DATA_PARAMETER to transfer data from Forms to Reports. You could also read the Note 110495.1 on Metalink to find useful information regarding this issue.
Adi -
FRM-41213 When calling report from a form using RUN_REPORT_OBJECT
Hi,
I get an error frm-41214:unable to connect to the report server when i am trying to call a report from a form using RUN_REPORT_OBJECT.
My code is as follows:
I have created a simple report using employee table such tht when i give the department number as parameter it should get the corresponding details along with that i also have highlited the system parameters:
DESFORMAT
DESNAME
DESTYPE
also other user parameters as
p_action
p_servername
p_user_connect
and in the before parameter form trigger the following code:
function BeforePForm return boolean is
vc_parameter_form VARCHAR2(4000);
vc_hidden_runtime_values VARCHAR2(1000);
vc_report_name VARCHAR2(100);
begin
IF (:P_ACTION = '_action_') THEN
vc_hidden_runtime_values := '_hidden_';
ELSE
srw.get_report_name(vc_report_name);
vc_hidden_runtime_values:='report='||vc_report_name||'&destype='||:destype||'&desformat='
||:desformat||'&userid='||:p_user_connect||'&server='||:p_servername;
END IF;
vc_parameter_form:='<html><body bgcolor="#ffffff"><form method=post action="'
||:P_ACTION||'">'||'<input name="hidden_run_parameters" type=hidden value="'
||vc_hidden_runtime_values||'">'||'<center><p><table border=0 cellspacing=0 cellpadding=0><tr><td>'
||'<input type=submit></td><td width=15><td><input type=reset></td>'||'</tr></table><p><hr><p>';
srw.set_before_form_html(srw.text_escape,vc_parameter_form);
return (TRUE);
end;
After this i created a form with department table as my datablock:
I created a report object in the form with name REPORT6.
-Created a procedure in the form with the following code
PROCEDURE RUN_REPORT_OBJECT_PROC(report_id REPORT_OBJECT,reportserver VARCHAR2,runformat VARCHAR2) IS
report_message VARCHAR2(100);
rep_status VARCHAR2(100);
vc_user_name VARCHAR2(100);
vc_user_password VARCHAR2(100);
vc_user_connect VARCHAR2(100);
vc_connect VARCHAR2(300);
BEGIN
vc_user_name:=get_application_property(username);
vc_user_password:=get_application_property(password);
vc_user_connect:=get_application_property(connect_string);
vc_connect:=vc_user_name||'/'||vc_user_password||'@'||vc_user_connect;
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_EXECUTION_MODE,BATCH);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_COMM_MODE,ASYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE,CACHE);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESFORMAT,runformat);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_SERVER,reportserver);
SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,'p_deptno='
||:Dept.Deptno
||' paramform=yes P_USER_CONNECT='
||vc_connect||' P_SERVERNAME='||reportserver
||' P_ACTION=http://iitv-1:8888/reports/rwservlet?');
report_message:=run_report_object(report_id);
rep_status := report_object_status(report_message);
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')LOOP
rep_status := report_object_status(report_message);
END LOOP /* Wait for Report to be finished */;
IF rep_status='FINISHED' then
web.show_document('http://iitv-1:8888/reports/rwservlet/getjobid'||
substr(report_message,instr(report_message,'_',-1)+1)||'?server'
||reportserver,'_blank');
ELSE
message (rep_status||' Report output aborted');
END IF;
END;
I created a press button and in the when_button_pressed trigger i added the following code:
declare
repid REPORT_OBJECT;
repserver VARCHAR2(100);
runformat VARCHAR2(10);
BEGIN
repid := find_report_object('REPORT6');
repserver := 'rep_iitv-1';
runformat := 'HTML';
run_report_object_proc(repid,repserver,runformat);
END;
Then tried to run the form but i got this error frm-41213 unable to connect to the report server.
Any one please help me.Run_report_object can't work with forms9i
Regards
Vikas Singhal -
Hi All,
I tried to call a report from a form (using this form as a parameter form)but unfortunately it is not working out for me. I used the run_product built in.
Could someone examine my code and tell me what is wrong?
DECLARE
pl_id ParamList;
BEGIN
pl_id := Get_Parameter_List('OPEN');
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('OPEN');
Add_Parameter(pl_id,'P_BUNIT',TEXT_PARAMETER, :BLOCK3.BUNIT);
Add_Parameter(pl_id,'P_AGRMT',TEXT_PARAMETER,:BLOCK3.AGRMT);
add_parameter(pl_id,'DESTYPE',TEXT_PARAMETER,'SCREEN');
add_parameter(pl_id,'PARAMFORM',TEXT_PARAMETER,'NO');
run_product(REPORTS, 'APRIL11', SYNCHRONOUS,RUNTIME,
FILESYSTEM, pl_id, NULL);
END;
nullOlan,
Your code looks good, and it should work.
Maybe you should check your report to make sure it is under oralce report path, user-defined parameters in the report are same name, type,lengh as in the form parameters, and correct system parameters.
good luck.
Jingning -
Calling Report from a Form on the same page
Hi,
We have a SEARCH Form and when user inputs search criteria, then we want to call a report on the same page, just below the search button. We tried many things but the report does not show up on the same page, it navigates to next page.
Please help..
Thanks
Kumar.I am trying to do a similar thing... I have created a form application component and a Report application component which is called from the search form. This works fine.
I expose the search form as a component and put it on a portal page. I do the same with the report.
When I call the page and enter the search params in the form and call the report, the report appears in a separate non-portal window. I would like the report in the same portal page to be run in-line with the new parameters.
Has anyone done this before? -
Little help for calling report from a form
hi,
I AM NOT ABLE TO CALL THE REPORT WITH THE FOLLOWING CODE. PLEASE TELL ME WHERE I AM DOING WRONG! THANKS A LOT!!
It is Oracle 9i and Reports 6i.
-> I have a form with only one BUTTON.
-> I have a REPORT with only one USER PARAMETER 'P_1' which is a number.
-> I have only one query INSIDE the report. It is "SELECT * FROM EMP WHERE EMPNO = :P_1'
-> I added the report to form in the OBJECT NAVAVIGATOR of FORM and the NAME OF REPORT is 'REOPRT4'
here is the code on the form:
================================
When_button_pressed
DECLARE
vid report_object;
vname varchar2(100);
BEGIN
vid := find_report_object('Report4');
vname := run_report_object(vid);
END;
==================================
-> the FORM and REPORT are in "c:\helloworld" directory.
-> the error I am getting is 'internal pl/sql error'
-> I WANT THE USER TO ENTER THE RUNTIME PARAMETER FOR THE REPORT AT RUNTIME, so no need to worry about supplying the parameter through code!!!
Thank You very much. I appreciate your kind help!!I think that you have to add some code, see page 15 in this:
http://otn.oracle.com/products/forms/pdf/277282.pdf
Helena -
Issue calling report from a Form(11.1.2).
Hi,
I have an existing code in the form to call a report and it seems to be working in the current 10g version of production server and I am migrating forms 10g to 11gR2. My issue here is when, I want to call the report from Forms 11g ( i.e. in developer suite) it is taking the report server as a blank. My Oracle FMW (11.1.2) is installed on the Windows 2008 R2 server. I do not know, if I need to configure the report server locally after the installation of FMW. Please help me out, if someone has faced a similar issue before.
DECLARE
rep_Report report_object := find_report_object('XYZ');
rep_server varchar2(100);
rep_jobidFull varchar2(100);
rep_jobidPartial varchar2(100);
BEGIN
-- Get the report server name
tool_env.getvar('REPORTS_SERVER_NAME', rep_server); --UNIX
IF rep_server IS NULL THEN -- WINDOWS
tool_env.getvar('HOSTNAME', rep_server);
END IF;
message('rep_server'||' '||rep_server);
SET_REPORT_OBJECT_PROPERTY(rep_Report,REPORT_SERVER,rep_server);
rep_jobidFull := run_report_object(rep_Report, pl_id);
message('rep_jobidFull'||' '||rep_jobidFull);
rep_jobidPartial := substr(rep_jobidFull,length(rep_server)+2,length(rep_jobidFull));
message('rep_jobidPartial'||' '||rep_jobidPartial);
web.show_document('/reports/rwservlet/getjobid'||rep_jobidPartial||'?server='||rep_server,'_blank');
END;
Errors:
FRM-41211: Integration error: SSL failure running another product.
REP-51000: The Reports Server name is not specified.
Thnx,
Sona.Hello,
Usually in development installation report server gets installed by default unless you uncheck it.
You can find the report server name by:
a)looking into rwservlet.properties file
or
b)as entry in Start > All Programs > Oracle Classic instance - asinst_1 > Reports Services > Start Report Server rep_wls_reports_<hostname>_<InstanceName>
or
c)http://<yourhostname>:7001/reports/rwservlet/getserverinfo
In order to run the report from froms you need:
-to implement the solution i described in a previous update
or
-use a harcoded value in the form
SET_REPORT_OBJECT_PROPERTY(rep_Report,REPORT_SERVER,'your_report_server name');
Since you are in 11gR2 development mode you cannote use EM or OPMN to get the status of the report server as Roberto Suggested.
For your reference also check:
Oracle Forms and Reports 11g Release 2 (11.1.2) Development Installation FAQ (Doc ID 1373210.1)
Regards,
Alex
If someone answer helped please mark it accordingly. -
Calling report from a form/report
Hello all,
My Apex version 3.2.1
I have created an application on some tables. Each table has a report and form page. Now everything in these pages is working fine(inserting, updating, deleting records).
I have a situation here, where after I insert a new record in to a table from the form page, here I have to show a report page based on a SQL query which queries the records from another table and the current table passing the parameters. Parameters should be the values that I enter during inserting a record.
Can I do this from form or report? If yes, how?
Please help me...I think you could create an unconditional branch after submit that would go to the report page that calls the said report.
Process flow:
insert row in TABLE_A
click update - adds row into table
submits page
processes validations, computations, etc
branches to report page
report page pulls data from TABLE_A (new row is inserted)
You could have a separate branch on each form to accomplish this.
Hope that helps
Paul -
Calling report from a form(Oracle team urgent)
Hi all,
I am using the following code to call a report from form
PROCEDURE Run_Report (cMode varchar2) IS
pl_id ParamList;
BEGIN
pl_id := Get_Parameter_List('OPEN');
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('OPEN');
add_parameter(pl_id,'DESTYPE',TEXT_PARAMETER,'SCREEN');
add_parameter(pl_id,'PARAMFORM',TEXT_PARAMETER,'NO');
run_product(REPORTS, 'c:/chips/reports/module6', SYNCHRONOUS,RUNTIME,
FILESYSTEM, pl_id, NULL);
null;
END;
When I run the form it is giving me
an error message :
FRM-10214- No authorization to run any application
But i can run the report in report builder and works fine.
When I press the Ok button for the above message.
It prompiting me againg username and password
When i enter Username and password it's not doing anything.
I am using forms6i in oracle8i.
Thanks for your help.
ThanksHi Rohit,
If u see my above message.I can able to run the report in reports builder.The Only problemn is I can't able to call the report from Form.
I have a button which call the report.When i Press the button it is Prompting me to enter the username,password and database .When i enter it is not doing anything.
But mt reports server is opening.
Please let me know whats the problemn
Thanks fo ryour help
Thanks
Krishna -
Problem displaying a report from within Oracle 10g forms.
After a lot of work, we are able to access and actually display a report directly from Internet explorer and view the report from the report server as well.
The successful url was:
http://york.vrc.virginia.gov:7778/reports/rwservlet
?report=/u01/app/oracle/produ ct/vrcmidtier/reports/vrc/pmw41051.rdf
&userid=vrcpr/vrcpr@vrctest&destype=cache&desformat=HTML
The form displays correctly back to the screen
When executing from within the form, however, the report runs but does not display back to the screen.
Forms Steps so far:
created a report object called pmw41050
static parameters are:
file name: /u01/app/oracle/product/vrcmidtier/reports/vrc/pmw41051.rdfination format
execution mode: batch
communication mode: synchronous
destination name; null
destination format: HTML
reportserver:: vrc_york_midtier
Built a when button pressed trigger as follows:
declare
l_report_file varchar2(200);
l_report_id REPORT_OBJECT;
l_report_status varchar2(200);
begin
-- capture the report
l_report_file := 'pmw41051';
l_report_id := find_report_object(l_report_file);
-- set the parameters for this output
set_report_object_property(l_report_id, REPORT_EXECUTION_MODE, BATCH);
set_report_object_property(l_report_id, REPORT_COMM_MODE, SYNCHRONOUS);
set_report_object_property(l_report_id, REPORT_DESTYPE, CACHE);
set_report_object_property(l_report_id, REPORT_DESFORMAT, 'PDF');
set_report_object_property(l_report_id, REPORT_SERVER, 'rep_york_vrcmidtier');
set_report_object_property(l_report_id, REPORT_OTHER, 'PARAMFORM=NO');
set_report_object_property(l_report_id, REPORT_DESNAME, 'DESNAME');
-- and run the report
l_report_status := run_report_object(l_report_id);
-- monitor progress
while l_report_status in ('RUNNING', 'OPENING_REPORT', 'ENQUEUED') loop
l_report_status := report_object_status(l_report_status);
end loop;
message('back from the report'); -- test message for return
end;
The report executes without error (as indicated by the message on the last line) but does NOT display back to the screen
checking the rwservlet/showjobs verifies the report completed and the reportcan be displayed from there.
So, bottom line: how to make a 10g form call report and display it on the screen?Thanks MIke for your feedback...
Will this surfice?
Procedure Test_Report Is
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
rep_status VARCHAR2(50);
BEGIN
repid := find_report_object('report5');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE,BATCH);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,CACHE);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'html');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'repserver90');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'paramform=no pdeptno='||:dept.deptno);
v_rep := RUN_REPORT_OBJECT(repid);
rep_status := REPORT_OBJECT_STATUS(v_rep);
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
LOOP
rep_status := report_object_status(v_rep);
END LOOP;
IF rep_status = 'FINISHED' THEN
/*Display report in the browser*/
WEB.SHOW_DOCUMENT('http://<YourServerName:8888/reports/rwservlet/getjobid'||
substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=repserver90','_blank');
ELSE
message('Error when running report');
END IF;
END; -
Invalid ID calling report from oracle forms 10 G
Hi, I have a problem during calling a report object 10g from a FORM, the source code is below the message, an the error message is can't not find PLAN_FUZZY (my report module name)...... WHY ???
DECLARE
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
Rep_status VARCHAR2(20);
BEGIN
repid := FIND_REPORT_OBJECT('PLAN_FUZZY');
V_rep := RUN_REPORT_OBJECT(repid);
END;hey,
May i know have u attached the report to your form???
i think the best way is using RUN_OBJECT method
Run_Product(REPORTS, 'report_path', SYNCHRONOUS, RUNTIME,
FILESYSTEM, NULL, NULL);
if your report is at reportxx folder then you can just write report file name.
Hope it will help you. -
Calling Reports from Web Forms
Hi all,
I have Forms and Reports services 10g running on Linux RHEL3, and it's all right so far, with only one application.
Now I have to use another application, which has some forms and reports with same name as the first one. At this point I cannot use FORMS90_PATH and REPORTS_PATH anymore.
I solved the problem about forms and icons (simply changing configuration files), and I found a solution for Reports, but this one obliges me to modify all forms calling reports. Of course I don't like it so much, and I'm wondering if someone has a solution without changing anything in the applications, as for forms and icons.
Thanks in advance
PaulHi Martin,
I'm afraid there was a little misunderstanding : I tried your solution, and it works fine for forms (but for forms I already had a solution, workingDirectory in the project section of formsweb.cfg).
It doesn't work for reports : it seems that the only way to specify reports location is in reports.sh, but to make applications independent I should use different reports servers for different applications, not acceptable.
Do you know a way to obtain the same result for reports (as for forms) without changing applications ?
BTW, the solution should work on Windows OS too.
Thanks again. -
How to run multiple reports From One Form with 1 report object?
Hi ALL!
i want to run multiple reports (in 10g technology) from 1 Form having only 1 report object.
i.e
IF parameter=yes THEN
Rpt_new should run
Else
Rpt_old should run
END IF;
How can i do this?
thanks
ranaRana,
I found this in the Forms online Help. You could easily found it yourself. Don't be afraid of pressing CTRL-H:
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_FILENAME, 'yourreportsfilename.rdf')Regards,
Martin Malmstrom
Maybe you are looking for
-
I deregistered my phone number from imessage but am still not receiving texts on my android phone
I went the the deregistration process. This improved the annoyance but is still not fully resolved. I still am not getting texts in certain group message settings. The problem seems to be in group texts where everyone else is using imessage except me
-
Macbook Pro changing wallpaper automatically when I log out and in?
Hi Whenever I go on my laptop and change the wallpaper, when I turn it off and then turn it on again, it has changed to another wallpaper. It changes to the same wallpaper all the time, and I made sure that I hadn't checked "change every 30 min" or s
-
TS4272 erase free space stuck on creating temporary file
I upgraded to 10.7.4 and followed instructions in http://support.apple.com/kb/TS4272 At step 9 Disk Utility is stuck on 'creating temporary file' for the last 24 hours. I have canceled and tried more than once.
-
Hi, I have a video track filled with multiple (200) text entries. I need to be able to increase the text size for each one by 5pts. I know I can click change move onto the next one but is there an easy way of doing this. I was able to adjust all ther
-
Discoverer Layout Configuration
Greetings! I'm starting to work with OracleBI Discoverer IAS and I must try out some of its features, in order to suit the company's needs and improve the work done so far. One of the details that is required to change is the report's info displayed