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
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 -
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 -
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 -
Using the Query Partitioning Technique for calling reports from forms.
Hello everyone,
I am having problems using the Query partitioning technique which does not work (??) on the web environment. It seems like you are currently using it. However, I'm not sure whether you have tried this on the web environment. Anyway, see if you can help me please.
I am populating a record group using data from a form and then pass it as a data parameter to report.
I use the following codes:
Add_Parameter(list_id,'Q_1',DATA_PARAMETER,rg_name); /* rg_name is my record group */
repid := find_report_object('myrep');
v_rep := RUN_REPORT_OBJECT(repid, list_id); /* list_id is my parameter list */
In client-server mode, I set the report destination type to preview and it works fine. Data from the record group are displayed in the report.
To run it on the web environment, I use the following properties:
Report destination type: cache
Report server: repserver
I get no output and the Reports Queue Manager shows the following:
Description:
Name: /test/pfs/kn/rep/kn211rp0.rdf
Owner: dev6
Destination: Cache Only
Destination Name:
Status:
Current status: [Repserver] Terminated with Error
REP-0076: Internal failure in product integration.
Thank you again for a reply
Kind Regards
Yogeeraj Degambur
PS. I am working on the HP-UX environment. Versions: Dev6i patch 5a, Oracle 8.0.5hello,
check the whitepaper "Oracle9iAS Forms Services 6i and Reports Integration" which can be found on otn.oracle.com/products/forms
regards,
the oracle reports team -
Plz help in calling reports from Form in browser
Hi!
I am using 9iAS(1.0.2.2.1) + 8.1.7 database on the same machine with Win NT4.When i invoke report from my system's main form(oracle form6i) using parameter list as Run_Product(reports,'..\iReports\glrxx13.rep',synchronous,RUNTIME,FILESYSTEM,pl_id,null); against a when-button-pressed trigger error raised
"Error:0110 Unable to open the report '..\iReports\glrxx13.rep"
"Error:...Error while opening or saving a ducument '..\iReports\glrxx13.rep".
My Reports are in folder "iReports" which i put in the 9iAS's report60 folder & also in the report60 folder too. I dont know more about virtual dirves mapping & environment variables setting i.e what & where these should be put.
Kindly help!
Many thanksHi
It is probable that you should configure the route of your reports the the file 6iserver located in
<ORACLE HOME>\806\CONF.
Example: 6iServer
SetEnvIf Request_URI "rwcgi60" ORACLE_HOME=D:\ORACLE\806
SetEnvIf Request_URI "rwcgi60" RW60=E:\reports\ -
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(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 -
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 -
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.
Maybe you are looking for
-
I understand I can't merge accounts. I don't know why this account is disabled but it is likely thatt I mixed up the password for this account with my more recent account. Anyone have an other idea?
-
How to check my route exam validity?
i had taken my route exam few days back but its not showing in certification tracking system. can cany one tell me how to track my route exam validity.
-
My photos wont enlarge when i double click on them
Some of my photos won't enlarge in iPhoto despite that being the setting in preferences for the double click.
-
Hi Experts, How we could make PR mandatory while creating PO, the exception is we need to exlcude one Doc Type (Fright PO) from this. 2) PR should not be allowed w/o material code for company code XXXX 3) One PO should not be allowed for multiple pla
-
Crashing when attaching to ' MAIL'
every time i try and send photos by attaching them to mail aperture crashes also if i just choose 'export' anyone have an idea whats goin on? 10.5.1 & 1.5.6