CALL A REPORT FROM ORACLE 10G FORMS
HI,
I HAVE STARTED TO WORK WITH ORACLE DATABASE 11G AND DEVELOPER SUIT 10G.
I HAVE A REPORT THAT IT WORKS CORRECTLY WHEN I RUN IT FROM REPORT DEVELOPER.
BUT WHEN I WANT TO CALL IT FROM A FORM, IT DOESN'T WORK.
IN ORACLE DEVELOPER 6I, I USE "RUN_PRODUCT" COMMAND AND IT WORKS WELL ,BUT IN
DEVELOPER SUIT 10G I HAVE TO USE "RUN_REPORT_OBJECT" AND I DON'T KNOW HOW.
WHEN I COMPILE MY CODES THERE IS NO ERROR ,BUT WHEN I RUN IT, IT SHOWS ME SOME ERRORS .
THIS IS MY CODES FROM ORACLE HELP :
DECLARE
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
rep_status VARCHAR2(20);
BEGIN
repid := FIND_REPORT_OBJECT('D:\TESTPROJ\REPORT1.JSP');
v_rep := RUN_REPORT_OBJECT(repid);
END;
IT SHOWS ME THIS ERROR : FRM-41219 .CANNOT FIND REPORT. INVALID ID.
AND THEN : FRM-40738. ARGUMENT 1 TO BUILTIN RUN_REPORT_OBJECT CANNOT BE NULL;
PLEASE HELP ME TO SOLVE THIS PROBLEM
THANKFUL
MAHSA
Manu,
I added my report to Form-Navigator and I changed it's name to REP1.
I added all you codes to When-Button-Press event like this :
DECLARE
RO_Report_ID REPORT_OBJECT;
Str_Report_Server_Job VARCHAR2(100);
Str_Job_ID VARCHAR2(100);
Str_URL VARCHAR2(100);
PL_ID PARAMLIST ;
BEGIN
PL_ID := GET_PARAMETER_LIST('TEMPDATA');
IF NOT ID_NULL(PL_ID) THEN
DESTROY_PARAMETER_LIST(PL_ID);
END IF;
PL_ID := CREATE_PARAMETER_LIST('TEMPDATA');
RO_Report_ID := FIND_REPORT_OBJECT('REP1'); -- This is my report's name in Form-Navigator. Is it correct to put it here ?
ADD_PARAMETER(PL_ID, 'P_SELECT_CITY', TEXT_PARAMETER, :CITY); --These are my parameter in REPORT and it's Value in my FORM*
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_FILENAME, 'D:\projects\PROJECT_OF_1388\TestOraDev10g\TEST_REP1');
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_COMM_MODE, SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_EXECUTION_MODE, BATCH);
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_DESTYPE, FILE);
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_DESFORMAT, 'PDF');
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_SERVER, 'Rep_faraji'); -- as you said, I put my computer name after REP_ here
Str_Report_Server_Job := RUN_REPORT_OBJECT(RO_Report_ID, PL_ID);
Str_Job_ID := SUBSTR(Str_Report_Server_Job, LENGTH('Rep_faraji') + 2, LENGTH(Str_Report_Server_Job)); -- as you said, I put my computer name after REP_ here
Str_URL := '/reports/rwservlet/getjobid' || Str_Job_ID || '?server=Rep_faraji'; -- as you said, I put my computer name after REP_ here
WEB.SHOW_DOCUMENT(Str_URL, '_SELF');
DESTROY_PARAMETER_LIST(PL_ID);
END;
But it doesn't work again, And shows this error :
FRM-41213. unable to connect to the report server Rep_faraji
Edited by: user508902 on Mar 2, 2010 2:18 AM
Edited by: user508902 on Mar 2, 2010 2:20 AM
Similar Messages
-
How to run a report from oracle 10g form in .csv format
dear all,
how to run a report from oracle 10g form in .csv format? i've already run in pdf & excel format.
i'm using
SET_REPORT_OBJECT_PROPERTY (ro_report_id, report_desformat, 'PDF'); --for pdf
SET_REPORT_OBJECT_PROPERTY (ro_report_id, report_desformat, 'SPREADSHEET'); ---for excel
Please Help..i have already tried.
but the report show in htm or html format. that file will not save into csv. please help. -
Calling report on oracle 10g forms
hi to all,
how can call oracle10g reports to oracle 10g forms? using a parameter..e.g: employee id.
Please i need a sample code...
note : report will not run on internet explorer.
thanks.
Edited by: baguhan on Jul 1, 2009 6:06 AMHai Baguhan,
Try this.
DECLARE
RO_Report_ID REPORT_OBJECT;
Str_Report_Server_Job VARCHAR2(100);
Str_Job_ID VARCHAR2(100);
Str_URL VARCHAR2(100);
PL_ID PARAMLIST ;
BEGIN
PL_ID := GET_PARAMETER_LIST('TEMPDATA');
IF NOT ID_NULL(PL_ID) THEN
DESTROY_PARAMETER_LIST(PL_ID);
END IF;
PL_ID := CREATE_PARAMETER_LIST('TEMPDATA');
RO_Report_ID := FIND_REPORT_OBJECT('REPORT_OBJ');
ADD_PARAMETER(PL_ID, 'EMP_ID', TEXT_PARAMETER, <value to EMPID parameter>);
--FOLLOWING PARAMETERS ARE MANDATORY PARAMETERS TO SET REPORT OBJECT
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_FILENAME, '<report_full_path>');
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_COMM_MODE, SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_EXECUTION_MODE, BATCH);
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_DESTYPE, FILE);
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_DESFORMAT, 'PDF');
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_SERVER, <report_server_name>);
Str_Report_Server_Job := RUN_REPORT_OBJECT(RO_Report_ID, PL_ID);
Str_Job_ID := SUBSTR(Str_Report_Server_Job, LENGTH(<report_server_name>) + 2, LENGTH(Str_Report_Server_Job));
Str_URL := '/reports/rwservlet/getjobid' || Str_Job_ID || '?server=' || <report_server_name>;
WEB.SHOW_DOCUMENT(Str_URL, '_SELF');
DESTROY_PARAMETER_LIST(PL_ID);
END IF;
END;And add a report object in the form. ( in the above code, its REPORT_OBJ ).
Regards,
Manu.
If this answer is helpful or correct, please mark it. Thanks. -
Calling a report from oracle form 10g
how to call a report from oracle form 10g
Please see the link:
http://www.oracle.com/technology/products/forms/pdf/10g/frm10gsrw10g.pdf -
URGENT!!! calling crystal reports from oracle forms 10g
Is it possible to call crystal reports from oracle forms 10g?
Can someone help to answer how, if there is a solusion, to call crystal reports from oracle forms 10g.
Please provide codes with details showing step by step.
Thankshi
try something like this.
DECLARE
charWinHandle VARCHAR2(50);
numWinHandle NUMBER;
BEGIN Set_Application_Property(Cursor_Style,'BUSY');
charWinHandle := Get_Item_Property('Control.Rep',Window_Handle);
numWinHandle := To_Number(charWinHandle);
:Item('Control.CrystalReport1').OCX.Crystal.Crysta lReport.WindowParentHandle
:= numWinHandle;
:Item('Control.CrystalReport1').OCX.Crystal.Crysta lReport.WindowState := 2;
:Item('CONTROL.CRYSTALREPORT1').OCX.Crystal.Crysta lReport.Connect
:= 'DSN=;UID=' || Get_Application_Property(UserName) ||
';pwd=' || Get_Application_Property(password) || ';dsq=;';
Crystal_CrystalCtrl.ReportFileName( :Item('Control.CrystalReport1').interface,
'C:\Sample_Rep.Rpt' );
Set_Window_Property( Forms_Mdi_Window, Window_State,Maximize );
Set_Window_Property( 'MAIN', Window_State, Maximize );
:reptitle := 'Report Preview Window';
numWinHandle := Crystal_CrystalCtrl.PrintReport( :Item('Control.CrystalReport1').interface );
Set_Application_Property(Cursor_Style,'DEFAULT');
END;NOTE: Change the report name and path according to your required file name and path in
the "Crystal_CrystalCtrl.ReportFileName" method call. Also, the connection string shown
assumes that you will use the current USER and PASSWORD for the Form.
- To make the above Form generic so that you can run any Crystal report from it, then create
a parameter for the report name and pass it to the Form using CALL_FORM from any other Form.
Then just replace the file name with the passed parameter.
-. Run the Form
If its correct/helpful please mark it thanks.
sarah
Edited by: S@R@h on Nov 27, 2009 6:33 AM -
Calling a report from a web form & specifying PDF format
Has anyone been able to call a report from Oracle Forms (6i or 9i) in a web browser (i.e. by pressing a button or any other link)? We are having problems generating the report in PDF format when we web deployed our forms. In client server mode it works fine with the report deferring to PDF. But in the web browser it reverts to a messy HTML format with the columns being distorted. Running a standalone report from the web is no problem but when it is linked with a form it goes back to HTML. In the old forms (5.0) we used a function like run_product but I am not sure what the problem is in the new environment.
T.J.Hello,
According to the way the reports is launched, the format of the reports output depends on the
variables : FORMS60_REPFORMAT (for Forms 6.0 and 6i)
Two others variables are used : FORMS60_OUTPUT and FORMS60_MAPPING.
Can you check the variable FORMS60_REPFORMAT ?
regards Dennis:
Thanks for the info. Your suggestion of changing the windows registry setting FORMS60_REPFORMAT to 'PDF' worked! I did not have to make any other changes to the form. I left the run_product format as is in the form and it worked like a charm. When we eventually migrate to Oracle Reports/Forms 9i we will look into using run_report_object. But for now we will stick with Oracle Forms6i. There was no need to alter the other registry settings FORMS60_MAPPING and FORMS60_OUTPUT since I followed the instructions of setting the virtual directories (symbolic links) when I installed the forms and reports services.
Thanks again for your help!
T.J. -
Need to download a tool to make reports from Oracle 10g or Oracle 11R1
Hello,
need to download a tool to make reports from Oracle 10g or Oracle 11Release 1,
but not too well from where to download it, my system is 32 bits
thanksAll Oracle product downloads are available from http://download.oracle.com or http://edelivery.oracle.com
Before going to the download site, you may want to review the available tools. Go to http://otn.oracle.com and check out the white papers and info under Products : Developer Tools -
Calling Crystal Reports from Oracle Forms 10G
Hi everyone,
I am trying to call a crystal report from Oracle Forms 10G.
I have a button on my Form which when clicked calls a Crystal Report which the uaser then wants to save as a PDf file.
Can someone please send me the code to do this and also the exact steps that are to be followed.
Thanks
Fm.Hi Andreas,
I am trying to call the crystal report from an Oracle Form using a URL. No batch file is being used here.
I am looking for a peice of code similar to run_product or run_report built in in Oracle which calls an Oracle report from an Oracle Form.
Also I dont want to display the report on a screen or a window in Oracle Forms. I would like it to run just as we run an Oracle Report from an Oracle Form.
Is that possible ? If yes please let me know the steps to do this.
Thanks
Faiz
Edited by: IQ on May 13, 2011 11:38 AM -
Call Oreacle report from Oracle form
Hi,
I need call a Oracle report from Oracle Form and found the the following procedure from this forum. I have 2 parameters 'start_date' and 'end_date' passing to called report. The following example just have onle parameter
'departmentno' passing. Is that mean I need to call add_parameter twice like the following?
add_parameter(plid, ''start_date' , TEXT_PARAMETER,:control.start_date);
add_parameter(plid, ''end_date' , TEXT_PARAMETER,:control.end_date);
In the following example:
add_parameter(plid, 'departmentno', TEXT_PARAMETER,to_char(:dept.deptno));
Thanks for clarification!!
Michael
PROCEDURE pass_parameter
IS
plid paramlist;
the_param varchar2(15) := 'tmpdata';
BEGIN
plid := get_parameter_list(the_param);
/* check if 'tmpdata' exists */
IF NOT id_null(plid) THEN
destroy_parameter_list(plid);
END IF;
/* if it does destroy it */
plid := create_parameter_list(the_param);
/* create it afresh */
add_parameter(plid, 'departmentno', TEXT_PARAMETER,to_char(:dept.deptno));
/* associate the param in the form with the param in the report */
add_Parameter(plid, 'PARAMFORM', TEXT_PARAMETER, 'NO');
/* to suppress the parameter form displaying */
run_product(REPORTS, /* product name */
'formrep.rdf', /* Oracle Reports module */
SYNCHRONOUS, /* communication mode */
RUNTIME, /* execution mode */
FILESYSTEM, /* location of the Reports module */
plid, /* handle to the parameter list */
null
END;this my code on when_button_press
declare
rec_grp recordgroup;
col1 groupcolumn;
col2 groupcolumn;
col3 groupcolumn;
col4 groupcolumn;
col5 groupcolumn;
col6 groupcolumn;
col7 groupcolumn;
col8 groupcolumn;
pl_id paramlist;
i number :=1;
begin
rec_grp := find_group('emp_rec');
if not id_null(rec_grp) then
delete_group(rec_grp);
end if;
rec_grp := create_group('emp_rec');
col1 := add_group_column('emp_rec','Empno',CHAR_COLUMN,8);
col2 := add_group_column('emp_rec','Ename',CHAR_COLUMN,30);
col3 := add_group_column('emp_rec','job',CHAR_COLUMN,15);
col4 := add_group_column('emp_rec','Mgr',CHAR_COLUMN,8);
col5 := add_group_column('emp_rec','Hiredate',DATE_COLUMN,10);
col6 := add_group_column('emp_rec','Sal',CHAR_COLUMN,10);
col7 := add_group_column('emp_rec','comm',CHAR_COLUMN,10);
col8 := add_group_column('emp_rec','Deptno',CHAR_COLUMN,4);
loop
go_block('emp_r');
go_record(i);
add_group_row(rec_grp,i);
set_group_char_cell('emp_rec.empno',i,:emp_r.empno);
set_group_char_cell('emp_rec.ename',i,:emp_r.ename);
set_group_char_cell('emp_rec.job',i,:emp_r.job);
set_group_char_cell('emp_rec.mgr',i,:emp_r.mgr);
set_group_date_cell('emp_rec.Hiredate',i,:emp_r.Hiredate);
set_group_char_cell('emp_rec.sal',i,:emp_r.sal);
set_group_char_cell('emp_rec.comm',i,:emp_r.comm);
set_group_char_cell('emp_rec.deptno',i,:emp_r.deptno);
i := i + 1;
exit when :system.last_record='TRUE';
end loop;
pl_id := get_parameter_list('para1');
if not id_null(pl_id) then
destroy_parameter_list(pl_id);
end if;
pl_id := create_parameter_list('para1');
add_parameter(pl_id,'Q_EMP',DATA_PARAMETER,'emp_rec');
add_parameter(pl_id,'paramform',text_parameter,'no');
run_product(REPORTS,'D:\ora\daily.RDF',synchronous,runtime,filesystem,pl_id,NULL);
end;
---------and this is my reprot query----------
select Empno,Ename,Job,Mgr,Hiredate,Sal,Comm,Deptno
from emp
where empno=:emp_rec
order by empno;
but it show error at run time
Rep-1340
plzz solve this problem to me
fahad -
Calling a web service from Oracle 10g forms
Hi Everybody
I want to send SMS from my 10g forms.... I searched for the topic and I got the following link
"http://www.oracle.com/technology/products/forms/htdocs/10gr2/howto/webservicefromforms/ws_10_1_3_from_forms.html"
Now I have downloaded "wsclient_extended_101320.zip"
1. extracted the jar file,
2. copied the jar file in "c:\ids10\WSclient"
3. Specified jar file name in "default.env" "formsweb.cfg"
4. Also specified the jar file name in "CLASSPATH" environment variable
5. restarted OC4J instance
6. Restarted Fotm Builder
But I couldn't see the "webServiceProxy.proxy.SendServiceSoapClient" in Form Builder "JAVA CLASS iMPORTER"
Can anyone plz help.....
Wat may be the problem??
Do I hav to follow the steps to create service as specified in demo page....or is it sufficient to download the jar file ??
Or is there any other setting that I m missing???
Thanx in advance....I created a new folder "WSclient" in "c:\ids10\forms"
and added full path name in CLASSPATH...... -
Calling Crystal Reports from Oracle Forms 6i
Hello
I am trying to invoke/call Crystal Reports from Forms 6i.
I have created OCX Item, while right click on item and insert-object, i am unable to see "Crystal Report" Control.
I have installed crystal Reports 2008 (Version 12) and CR Standard Production version 9.
Is there any Active X control registration in forms.
I could see "Crystal Report Viewer Control 9" and "Crystal Report Print Control 12.0"
Could some one help me,
Thanks
TumugantiDid u Succeed in calling crystal Reports XI from Forms 6i
or from Forms10g
for me also the same Requirement
please send any document ,Attachment ,steps to call Crystal Reports XI from Forms
[email protected]
Message was edited by:
user501763 -
Calling a report from an existing form
hi all,
i am new to this forms and reports. i have created a report which gives information about an employee. and name it as activity report. i am using reports Report Builder 10.1.2.0.2. i have also created a form. my purpose is " i will enter the employee id, a starting and ending dates as input to the form. these values r to be passed to the query of the reports and the report has to extract the records of that employee between the start and end dates." how can i achieve this. i am entirely new to this reports and forms. please give me a clear reply so that i can call my report and pass that dates and id to my report. and also please explain me how to call a report from a form and make it to run. please make me clear where to write the code whether in forms or rports.
thank you.Hi,
Check this sample Code..
DECLARE
pl_id ParamList;
pl_name VARCHAR2(10) := 'repdata';
BEGIN
pl_id := Get_Parameter_List(pl_name);
IF Id_Null(pl_id) THEN
pl_id := Create_Parameter_List(pl_name);
Add_Parameter(pl_id, 'P_STARTDATE', TEXT_PARAMETER,:BLK_CTRL.P_TODATE);
Add_Parameter(pl_id, 'P_ENDDATE', TEXT_PARAMETER, :BLK_CTRL.P_CURRENCY);
Add_Parameter(pl_id, 'PARAMFORM', TEXT_PARAMETER, 'NO');
ELSE
Destroy_Parameter_List( pl_id );
END IF
RUN_PRODUCT(REPORTS, 'D:\MMRROLDL.RDF' ,SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id ,NULL);
END; -
Passing sort as a parameter to Reports from Oracle 9i forms
I'm trying to call a report from 9i forms by passing 13 parameters. One of them is a 'sort' parameter. All the other parameters are passed succesfully to the report and the report also receives them successfully. But 'sort' parameter didn't work. I don't know if the report received it or not. I can see all the parameter values on the browser link of IE. The sort parameter also appears there but doesn't sort the data.
!!!!! Please help me out !!!!
Thank you.Hello,
Are you still haveing problems witht he sort parameter? If so, I use a lexical parameter as the sort parameter along with an after paramter form trigger. I have found that a bind variable doesn't work. So it maybe that the report is running just fine but the sort parameter is just not working properly due to the bind variable. If you don't have it set up with a lexical paramter, try this:
First get rid of any bind variable with an "ORDER BY" clause. For example, you may have:
select
columnA,
columnB,
columnC,
columnB
from tableA
where
columnA is not null
order by
:sortby
However, replace the order by with:
select
columnA,
columnB,
columnC,
columnB
from tableA
where
columnA is not null
&sortby
Then create another user parameter by clicking the "+" in the object navigater. Call it P_1. Use this parameter as the parameter the users sees. You can create a static list of values that a user can choose to sort by. Say "A", "B","C", and "D".
Then in your after parameter form trigger, put the following code:
function AfterPForm return boolean is
begin
IF :P_1 = 'A' THEN
:sortby := 'Order by columnA';
ELSE IF :P_1 = 'B' THEN
:sortby := 'Order by columnB';
ELSE IF :P_1 = 'C' THEN
:sortby := 'Order by columnC';
ELSE IF :P_1 = 'D' THEN
:sortby := 'Order by columnD';
END IF;
END IF;
END IF;
END IF;
return (TRUE);
end;
Hope this helps.
Martin -
Calling BI Reports from Oracle Forms
Hi Guys,
I have successfully called the BI Reports from Form Services at my Development Server.
But now I am deploying the same in production Server but the following error is coming.
Exception: java.lang.Exception: java.lang.NoSuchMethodError: oracle.j2ee.ws.saaj.client.p2p.HttpSOAPConnectio.setPreemptiveBasicAuth(Z)V
Does any body have any idea which jar file I can find the above method.
Thanks & Regards,
RajenderHere :
where is jar file for oracle.j2ee.ws.client.ServiceFactoryImpl
they talk about a :
wsclient.jar
What is sure is that the jar must contain/begin with WS as webservice.
Success
Nico -
Calling parameterised reports from Oracle Forms 11g
Hi,
I wrote a procedure to call the reports as
PROCEDURE CALL_REPORT IS
BEGIN
DECLARE
v_report_id Report_Object;
vc_report_job_id VARCHAR2(100); /* unique id for each Report request */
vc_rep_status VARCHAR2(100); /* status of the Report job */
BEGIN
v_report_id:= FIND_REPORT_OBJECT(:global.rep_name);
SET_REPORT_OBJECT_PROPERTY(v_report_id, REPORT_EXECUTION_MODE,BATCH);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_COMM_MODE,ASYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESTYPE,CACHE);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESFORMAT,'HTML');
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_SERVER, :global.rep_svr);
vc_report_job_id := RUN_REPORT_OBJECT(v_report_id);
vc_rep_status:= REPORT_OBJECT_STATUS(vc_report_job_id);
WHILE vc_rep_status IN ('RUNNING','OPENING_REPORT','ENQUEUED')LOOP
vc_rep_status:= REPORT_OBJECT_STATUS(vc_report_job_id);
END LOOP /* Wait for Report to be finished */;
IF vc_rep_status='FINISHED' THEN
:system.message_level := 5;
commit_form;
:system.message_level := 0;
web.show_document('/reports/rwservlet/getjobid'||
substr(vc_report_job_id,instr(vc_report_job_id,'_',-1)+1)||
'?server='||:global.rep_svr);
ELSIF vc_rep_status NOT IN ('RUNNING','OPENING_REPORT','ENQUEUED') THEN
message (vc_rep_status||' Report output aborted');
END IF;
END;
END;
I can use this for simple reports (that reports w/o parameters) as
DECLARE
rep_name VARCHAR2(15):= 'rep_hotels';
BEGIN
:global.rep_name := rep_name;
CALL_REPORT;
END;
& This is working fine. But how to use this in parametarised reports.
I tried lyk this, procedure as (I made the parametere list id as global)
PROCEDURE CALL_REPORT IS
BEGIN
DECLARE
v_report_id Report_Object;
vc_report_job_id VARCHAR2(100); /* unique id for each Report request */
vc_rep_status VARCHAR2(100); /* status of the Report job */
BEGIN
v_report_id:= FIND_REPORT_OBJECT(:global.rep_name);
SET_REPORT_OBJECT_PROPERTY(v_report_id, REPORT_EXECUTION_MODE,BATCH);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_COMM_MODE,ASYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESTYPE,CACHE);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESFORMAT,'HTML');
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_SERVER, :global.rep_svr);
vc_report_job_id := RUN_REPORT_OBJECT(v_report_id, :global.pl_id);
vc_rep_status:= REPORT_OBJECT_STATUS(vc_report_job_id);
WHILE vc_rep_status IN ('RUNNING','OPENING_REPORT','ENQUEUED')LOOP
vc_rep_status:= REPORT_OBJECT_STATUS(vc_report_job_id);
END LOOP /* Wait for Report to be finished */;
IF vc_rep_status='FINISHED' THEN
:system.message_level := 5;
commit_form;
:system.message_level := 0;
web.show_document('/reports/rwservlet/getjobid'||
substr(vc_report_job_id,instr(vc_report_job_id,'_',-1)+1)||
'?server='||:global.rep_svr);
ELSIF vc_rep_status NOT IN ('RUNNING','OPENING_REPORT','ENQUEUED') THEN
message (vc_rep_status||' Report output aborted');
END IF;
END;
END;
& to call
DECLARE
pl_id ParamList;
par_strg VARCHAR2(500);
rep_name VARCHAR2(15):= 'rep_hotels';
BEGIN
pl_id := Get_Parameter_List('tmpdata');
:global.rep_name := rep_name;
:global.pl_id := pl_id;
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('tmpdata');
Add_Parameter(pl_id,'PARAMFORM',TEXT_PARAMETER,'NO' );
Add_Parameter(pl_id,'REQ_FY',TEXT_PARAMETER, :OTC_TRANS_REQUISITIONS.FY);
Add_Parameter(pl_id,'REQ_SEQ',TEXT_PARAMETER, :OTC_TRANS_REQUISITIONS.SEQ);
Add_Parameter(pl_id,'REQ_VER_NO',TEXT_PARAMETER,:OTC_TRANS_REQUISITIONS.VERSION_NO );
Add_Parameter(pl_id,'REQ_HDR',TEXT_PARAMETER,:OTC_TRANS_REQUISITIONS.SCR_REQ_STATUS );
par_strg := '&REQ_FY='||:OTC_TRANS_REQUISITIONS.FY||'&REQ_SEQ='||:OTC_TRANS_REQUISITIONS.SEQ||'&REQ_VER_NO='||:OTC_TRANS_REQUISITIONS.VERSION_NO||'&REQ_HDR='||:OTC_TRANS_REQUISITIONS.SCR_REQ_STATUS;
CALL_REPORT;
END;
But this make compilation error for
:global.pl_id := pl_id;
as "expression is of wrong type"
I dont think we can make parameters as global, with out that i have to write evry thing in one as
DECLARE
pl_id ParamList;
par_strg VARCHAR2(500);
rep_name VARCHAR2(15):= 'rep_hotels';
v_report_id Report_Object;
vc_report_job_id VARCHAR2(100); /* unique id for each Report request */
vc_rep_status VARCHAR2(100); /* status of the Report job */
BEGIN
:global.rep_name := rep_name;
v_report_id:= FIND_REPORT_OBJECT(:global.rep_name);
SET_REPORT_OBJECT_PROPERTY(v_report_id, REPORT_EXECUTION_MODE,BATCH);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_COMM_MODE,ASYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESTYPE,CACHE);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESFORMAT,'HTML');
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_SERVER, :global.rep_svr);
pl_id := Get_Parameter_List('tmpdata');
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('tmpdata');
Add_Parameter(pl_id,'PARAMFORM',TEXT_PARAMETER,'NO' );
Add_Parameter(pl_id,'REQ_FY',TEXT_PARAMETER, :OTC_TRANS_REQUISITIONS.FY);
Add_Parameter(pl_id,'REQ_SEQ',TEXT_PARAMETER, :OTC_TRANS_REQUISITIONS.SEQ);
Add_Parameter(pl_id,'REQ_VER_NO',TEXT_PARAMETER,:OTC_TRANS_REQUISITIONS.VERSION_NO );
Add_Parameter(pl_id,'REQ_HDR',TEXT_PARAMETER,:OTC_TRANS_REQUISITIONS.SCR_REQ_STATUS );
par_strg := '&REQ_FY='||:OTC_TRANS_REQUISITIONS.FY||'&REQ_SEQ='||:OTC_TRANS_REQUISITIONS.SEQ||'&REQ_VER_NO='||:OTC_TRANS_REQUISITIONS.VERSION_NO||'&REQ_HDR='||:OTC_TRANS_REQUISITIONS.SCR_REQ_STATUS;
vc_report_job_id := RUN_REPORT_OBJECT(v_report_id, pl_id);
vc_rep_status:= REPORT_OBJECT_STATUS(vc_report_job_id);
WHILE vc_rep_status IN ('RUNNING','OPENING_REPORT','ENQUEUED')LOOP
vc_rep_status:= REPORT_OBJECT_STATUS(vc_report_job_id);
END LOOP /* Wait for Report to be finished */;
IF vc_rep_status='FINISHED' THEN
:system.message_level := 5;
commit_form;
:system.message_level := 0;
web.show_document('/reports/rwservlet/getjobid'||
substr(vc_report_job_id,instr(vc_report_job_id,'_',-1)+1)||
'?server='||:global.rep_svr);
ELSIF vc_rep_status NOT IN ('RUNNING','OPENING_REPORT','ENQUEUED') THEN
message (vc_rep_status||' Report output aborted');
END IF;
END;
, I have hundreds of report (migrating 6i to 11g), parameter names r different in each , so that is also impossible.
can any1 suggest me a good idea to do this ?Hi,
I wrote a procedure to call the reports as
PROCEDURE CALL_REPORT IS
BEGIN
DECLARE
v_report_id Report_Object;
vc_report_job_id VARCHAR2(100); /* unique id for each Report request */
vc_rep_status VARCHAR2(100); /* status of the Report job */
BEGIN
v_report_id:= FIND_REPORT_OBJECT(:global.rep_name);
SET_REPORT_OBJECT_PROPERTY(v_report_id, REPORT_EXECUTION_MODE,BATCH);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_COMM_MODE,ASYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESTYPE,CACHE);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESFORMAT,'HTML');
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_SERVER, :global.rep_svr);
vc_report_job_id := RUN_REPORT_OBJECT(v_report_id);
vc_rep_status:= REPORT_OBJECT_STATUS(vc_report_job_id);
WHILE vc_rep_status IN ('RUNNING','OPENING_REPORT','ENQUEUED')LOOP
vc_rep_status:= REPORT_OBJECT_STATUS(vc_report_job_id);
END LOOP /* Wait for Report to be finished */;
IF vc_rep_status='FINISHED' THEN
:system.message_level := 5;
commit_form;
:system.message_level := 0;
web.show_document('/reports/rwservlet/getjobid'||
substr(vc_report_job_id,instr(vc_report_job_id,'_',-1)+1)||
'?server='||:global.rep_svr);
ELSIF vc_rep_status NOT IN ('RUNNING','OPENING_REPORT','ENQUEUED') THEN
message (vc_rep_status||' Report output aborted');
END IF;
END;
END;
I can use this for simple reports (that reports w/o parameters) as
DECLARE
rep_name VARCHAR2(15):= 'rep_hotels';
BEGIN
:global.rep_name := rep_name;
CALL_REPORT;
END;
& This is working fine. But how to use this in parametarised reports.
I tried lyk this, procedure as (I made the parametere list id as global)
PROCEDURE CALL_REPORT IS
BEGIN
DECLARE
v_report_id Report_Object;
vc_report_job_id VARCHAR2(100); /* unique id for each Report request */
vc_rep_status VARCHAR2(100); /* status of the Report job */
BEGIN
v_report_id:= FIND_REPORT_OBJECT(:global.rep_name);
SET_REPORT_OBJECT_PROPERTY(v_report_id, REPORT_EXECUTION_MODE,BATCH);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_COMM_MODE,ASYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESTYPE,CACHE);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESFORMAT,'HTML');
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_SERVER, :global.rep_svr);
vc_report_job_id := RUN_REPORT_OBJECT(v_report_id, :global.pl_id);
vc_rep_status:= REPORT_OBJECT_STATUS(vc_report_job_id);
WHILE vc_rep_status IN ('RUNNING','OPENING_REPORT','ENQUEUED')LOOP
vc_rep_status:= REPORT_OBJECT_STATUS(vc_report_job_id);
END LOOP /* Wait for Report to be finished */;
IF vc_rep_status='FINISHED' THEN
:system.message_level := 5;
commit_form;
:system.message_level := 0;
web.show_document('/reports/rwservlet/getjobid'||
substr(vc_report_job_id,instr(vc_report_job_id,'_',-1)+1)||
'?server='||:global.rep_svr);
ELSIF vc_rep_status NOT IN ('RUNNING','OPENING_REPORT','ENQUEUED') THEN
message (vc_rep_status||' Report output aborted');
END IF;
END;
END;
& to call
DECLARE
pl_id ParamList;
par_strg VARCHAR2(500);
rep_name VARCHAR2(15):= 'rep_hotels';
BEGIN
pl_id := Get_Parameter_List('tmpdata');
:global.rep_name := rep_name;
:global.pl_id := pl_id;
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('tmpdata');
Add_Parameter(pl_id,'PARAMFORM',TEXT_PARAMETER,'NO' );
Add_Parameter(pl_id,'REQ_FY',TEXT_PARAMETER, :OTC_TRANS_REQUISITIONS.FY);
Add_Parameter(pl_id,'REQ_SEQ',TEXT_PARAMETER, :OTC_TRANS_REQUISITIONS.SEQ);
Add_Parameter(pl_id,'REQ_VER_NO',TEXT_PARAMETER,:OTC_TRANS_REQUISITIONS.VERSION_NO );
Add_Parameter(pl_id,'REQ_HDR',TEXT_PARAMETER,:OTC_TRANS_REQUISITIONS.SCR_REQ_STATUS );
par_strg := '&REQ_FY='||:OTC_TRANS_REQUISITIONS.FY||'&REQ_SEQ='||:OTC_TRANS_REQUISITIONS.SEQ||'&REQ_VER_NO='||:OTC_TRANS_REQUISITIONS.VERSION_NO||'&REQ_HDR='||:OTC_TRANS_REQUISITIONS.SCR_REQ_STATUS;
CALL_REPORT;
END;
But this make compilation error for
:global.pl_id := pl_id;
as "expression is of wrong type"
I dont think we can make parameters as global, with out that i have to write evry thing in one as
DECLARE
pl_id ParamList;
par_strg VARCHAR2(500);
rep_name VARCHAR2(15):= 'rep_hotels';
v_report_id Report_Object;
vc_report_job_id VARCHAR2(100); /* unique id for each Report request */
vc_rep_status VARCHAR2(100); /* status of the Report job */
BEGIN
:global.rep_name := rep_name;
v_report_id:= FIND_REPORT_OBJECT(:global.rep_name);
SET_REPORT_OBJECT_PROPERTY(v_report_id, REPORT_EXECUTION_MODE,BATCH);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_COMM_MODE,ASYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESTYPE,CACHE);
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_DESFORMAT,'HTML');
SET_REPORT_OBJECT_PROPERTY(v_report_id,REPORT_SERVER, :global.rep_svr);
pl_id := Get_Parameter_List('tmpdata');
IF NOT Id_Null(pl_id) THEN
Destroy_Parameter_List( pl_id );
END IF;
pl_id := Create_Parameter_List('tmpdata');
Add_Parameter(pl_id,'PARAMFORM',TEXT_PARAMETER,'NO' );
Add_Parameter(pl_id,'REQ_FY',TEXT_PARAMETER, :OTC_TRANS_REQUISITIONS.FY);
Add_Parameter(pl_id,'REQ_SEQ',TEXT_PARAMETER, :OTC_TRANS_REQUISITIONS.SEQ);
Add_Parameter(pl_id,'REQ_VER_NO',TEXT_PARAMETER,:OTC_TRANS_REQUISITIONS.VERSION_NO );
Add_Parameter(pl_id,'REQ_HDR',TEXT_PARAMETER,:OTC_TRANS_REQUISITIONS.SCR_REQ_STATUS );
par_strg := '&REQ_FY='||:OTC_TRANS_REQUISITIONS.FY||'&REQ_SEQ='||:OTC_TRANS_REQUISITIONS.SEQ||'&REQ_VER_NO='||:OTC_TRANS_REQUISITIONS.VERSION_NO||'&REQ_HDR='||:OTC_TRANS_REQUISITIONS.SCR_REQ_STATUS;
vc_report_job_id := RUN_REPORT_OBJECT(v_report_id, pl_id);
vc_rep_status:= REPORT_OBJECT_STATUS(vc_report_job_id);
WHILE vc_rep_status IN ('RUNNING','OPENING_REPORT','ENQUEUED')LOOP
vc_rep_status:= REPORT_OBJECT_STATUS(vc_report_job_id);
END LOOP /* Wait for Report to be finished */;
IF vc_rep_status='FINISHED' THEN
:system.message_level := 5;
commit_form;
:system.message_level := 0;
web.show_document('/reports/rwservlet/getjobid'||
substr(vc_report_job_id,instr(vc_report_job_id,'_',-1)+1)||
'?server='||:global.rep_svr);
ELSIF vc_rep_status NOT IN ('RUNNING','OPENING_REPORT','ENQUEUED') THEN
message (vc_rep_status||' Report output aborted');
END IF;
END;
, I have hundreds of report (migrating 6i to 11g), parameter names r different in each , so that is also impossible.
can any1 suggest me a good idea to do this ?
Maybe you are looking for
-
Forecast based planning -weekly schedules split -reg
Hi, our requirement is we use forecast based planning where in both forecast periods and historical periods are months then when fore cast is run requirement is coming in Md04 in monthly buckets only when we run MRP the out put schedules should come
-
Droid Bionic battery dying since ICS and 4G
I have owned my Bionic for just over a year. Recently I upgraded to ICS and last Friday Nov. 9th our area went to 4G. My battery is dying quickly......Example...as of 10:03AM my phone has been on for 3 hours, the screen shows that it has been on fo
-
I saw in a previous post that it was recommended to use a try/catch block when a timeout is expected to occur. I have 2 issues with that approach: 1) Does now allow accurate timing of how long a certain step takes. 2) If there's a dependency that tha
-
Can I charge the ink with an iPad charger ?
Can I charge the ink with an iPad or iPhone charger?
-
A1278 MacBook Pro dim picture, bad screen?
Hello everyone, Got a MacBook unibody with very dim picture. This happened after a very minor liquid spill which I cleaned out. Bought a used screen plus a new screen cable from eBay and it's doing the samething. I'm about to buy a new LED screen thi