Home » Developer & Programmer » Forms » FRM-41213
FRM-41213 [message #226120] |
Thu, 22 March 2007 10:43  |
harleenflora
Messages: 44 Registered: June 2006
|
Member |
|
|
I am getting following error message while running Oracle 10g Form which generates report:
FRM-41213: Unable to connect to the Report server RepSrv.
|
|
|
|
|
|
Re: FRM-41213 [message #227248 is a reply to message #226899] |
Tue, 27 March 2007 12:55   |
harleenflora
Messages: 44 Registered: June 2006
|
Member |
|
|
Following is the code of Run_Report_Object_Proc for my 6i library but when I run it in 10g, I get the following error message:
FRM-41213 unable to connect to Report Server
Please let me know the modifications to this code. Thanks!
PROCEDURE Run_Report_Object_Proc(
p_rep_name IN VARCHAR2,
rep_actions IN VARCHAR2,
rep_destype IN VARCHAR2,
rep_dest_filename IN VARCHAR2)
IS
rep_job_id VARCHAR2(100);
rep_status VARCHAR2(100);
rep_server VARCHAR2(200);
rep_object REPORT_OBJECT := Find_Report_Object('REP_OBJ');
v_rep_destype VARCHAR2( := rep_destype;
BEGIN
Set_Application_Property(CURSOR_STYLE, 'BUSY');
If Get_Application_Property(USER_INTERFACE) = 'WEB'
Then
Set_Report_Object_Property(rep_object, REPORT_DESFORMAT, 'PDF');
Set_Report_Object_Property(rep_object, REPORT_SERVER, 'RepSrv');
TOOL_ENV.GetVar('REPORTS60_REPORTS_SERVER', rep_server);
ELSE
IF v_rep_destype = 'Cache'
THEN
v_rep_destype := 'Preview';
END IF;
End If;
Set_Report_Object_Property(rep_object, REPORT_EXECUTION_MODE, BATCH);
If v_rep_destype = 'File'
Then
Set_Report_Object_Property(rep_object, REPORT_DESTYPE, FILE);
Set_Report_Object_Property(rep_object, REPORT_DESNAME, rep_dest_filename);
Elsif v_rep_destype = 'Screen'
Then
Set_Report_Object_Property(rep_object, REPORT_DESTYPE, SCREEN);
Set_Report_Object_Property(rep_object, REPORT_EXECUTION_MODE, RUNTIME);
Elsif v_rep_destype = 'Mail'
Then
Set_Report_Object_Property(rep_object, REPORT_DESTYPE, MAIL);
Set_Report_Object_Property(rep_object, REPORT_DESNAME, rep_dest_filename);
Elsif v_rep_destype = 'Printer'
Then
Set_Report_Object_Property(rep_object, REPORT_DESTYPE, PRINTER);
Elsif v_rep_destype = 'Preview'
Then
Set_Report_Object_Property(rep_object, REPORT_DESTYPE, PREVIEW);
Set_Report_Object_Property(rep_object, REPORT_EXECUTION_MODE, RUNTIME);
Elsif v_rep_destype = 'Cache'
Then
Set_Report_Object_Property(rep_object, REPORT_DESTYPE, CACHE);
Set_Report_Object_Property(rep_object, REPORT_EXECUTION_MODE, RUNTIME);
End If;
Set_Report_Object_Property(rep_object, REPORT_OTHER, rep_actions);
Set_Report_Object_Property(rep_object, REPORT_COMM_MODE, SYNCHRONOUS);
Set_Report_Object_Property(rep_object, REPORT_FILENAME, p_rep_name || '.rep');
rep_job_id := Run_Report_Object(rep_object);
If Get_Application_Property(USER_INTERFACE) = 'WEB'
Then
rep_status := Report_Object_Status(rep_job_id);
While rep_status in ('RUNNING', 'OPENING_REPORT', 'ENQUEUED') Loop
rep_status := Report_Object_Status(rep_job_id);
End Loop;
If rep_status = 'FINISHED'
Then
WEB.Show_Document('/servlets/RWServlet/getjobid=' || rep_job_id ||
'?server=' || rep_server, '_blank');
Else
Message(rep_status || ' -- Report Output Aborted');
End If;
End If;
Set_Application_Property(CURSOR_STYLE, 'DEFAULT');
IF p_rep_name not in ( 'RAWD0070','RINV0010')
THEN
Exit_Form(NO_COMMIT);
END IF;
END;
|
|
|
|
|
|
|
|
|
Re: FRM-41213 [message #227848 is a reply to message #227838] |
Thu, 29 March 2007 14:44   |
harleenflora
Messages: 44 Registered: June 2006
|
Member |
|
|
Zeeshan, thanks for your quick response but I am still not able to find the Report Server Name.
Following is my rwservlet.properties file:
SERVER_IN_PROCESS=YES
RELOAD_KEYMAP=NO
#DIAGNOSTIC=YES
#TRACEOPTS=TRACE_ALL
#TRACEFILE=rwservlet.trc
#TRACEMODE=TRACE_REPLACE
#SERVER=<reports_server_name>
#IMAGEURL=http://<web_server_name>:<port_num>/reports/rwservlet
#KEYMAPFILE=CGICMD.DAT
#DBAUTH=RWDBAUTH.HTM
#SYSAUTH=RWSYSAUTH.HTM
#ERRORTEMPLATE=RWERROR.HTM
#COOKIEEXPIRE=30
#ENCRYPTIONKEY=reports9i
#DIAGBODYTAGS=<reports_servlet_help_file_title>
#DIAGHEADTAGS=<reports_servlet_help_file_body_tag>
#HELPURL=<url_of_customized_help_file_for_reports_servlet>
#SINGLESIGNON=YES
OID_ENTITY=%REPORTS_OID_ENTITY%
#ALLOWHTMLTAGS=NO
#REPORTS_NETWORK_CONFIG=rwnetwork.conf
#OIDCON_INIT=10
#OIDCON_INCREMENT=10
#OIDCON_TIMEOUT=0
And after I defined the flag in my WEB.Show Document, I am getting following run time error message:
FRM-41211 integration error: SSL failure running another product
Any suggestions???
|
|
|
Re: FRM-41213 [message #229682 is a reply to message #227838] |
Mon, 09 April 2007 13:07   |
harleenflora
Messages: 44 Registered: June 2006
|
Member |
|
|
In case, if anybody is looking for the answer:
STEP 1:
Enable the Report Server trace .
How to generate the Report Server Trace file on Reports 9i.
============================================================
1. Goto %ORACLE_HOME%\reports\conf.
2. Open the Reports server configuration file : <Report Server Name>.conf.
3. Edit trace option to read as
<trace traceOpts="trace_all"/>
4. Save the file.
5. Restart the Reports Server.
STEP 2:
Where is the report server in the URL you sent to
run in dos command: rwserver server= omd1
and the add server= omd1 in your URL
Run: rwserver server = rep_oraldb02_J2EE_FR
STEP 3:
1) Create a simple report based on table EMP with a user parameter:
select * from emp
where emp.deptno = :pdeptno;
2) Open up the Property Inspector of user parameter PDEPTNO and specify the following:
Name: pdeptno
Datatype: Number
Width: 20
Initial value: 11 (It can be any valid value)
3) Compile and save the report. Try to run it using 'Run Paper Layout' icon to make sure it works properly.
4) Create a simple form based on table DEPT:
select * from dept;
5) Create a new reports server service as following (in Command Prompt):
rwserver -install repserver90 autostart=yes
( For Developer 10.x , please have a look into:
6) Open Property Palette for Reports object in the Forms Object Navigator and enter the following:
Name: EMP
Filename: C:\reports\emp.rdf
/*<specify full path to your RDF/REP file or make sure this path is included
into REPORTS_PATH environment variable*/
Report Destination Type: CACHE
Report Destination Format: HTML
Report Server: repserver90
7) Open Layout Editor and create a push button 'Run-Report'.
Create a WHEN-BUTTON-PRESSED trigger with the following code:
test_report;
9) Create a new procedure that you can call from the trigger as follows:
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;
10) Compile the form.
11) Run the form, populate the record.
12) Click on the push button. Report will be displayed in a new browser window.
Note that only records with the specific DEPTNO are displayed. It is because we passed parameter with a specific DEPTNO from the form to report.
Troubleshooting
Firstly there is a very useful troubleshooting section to be found in Appendix C : TROUBLESHOOTING pages 41 - 43 in the White Paper: [PDF] Integrating Oracle9iAS Reports Services in Oracle9iAS Forms Services.
A list of possible problems are also listed below:
1) The following errors occur:
FRM-41214: Unable to run report
and/or
FRM-41213: Unable to connect to the report server <In-process report server name>
This explains that when deploying a report over the web with output to be shown in the browser window, then the reports DESTYPE should be set to CACHE or FILE and not SCREEN or PREVIEW. To display the output of report in the browser use WEB.SHOW_DOCUMENT built-in.
b. Ensure that Reports Server being referenced in the RUN_REPORT_OBJECT code is started. Note, the in-process Report Server may not be started if no reports requests have been run prior to calling a report from the forms application. It is necessary to first invoke the rwservlet for the in-process server to be started.
c. Make sure reports server name is specified in the property palette of Report Object in the Forms Object navigator.
Reference:
Note 201436.1 Upgrade of 6i Form Using RUN_REPORT_OBJECT Gives a REP-0503
d. Make sure that the OC4J Instance for Reports is started.
e. Check whether parameters being passed to RUN_REPORT_OBJECT have values containing spaces. If so see 'Bugs and Known Issues' section below.
f. Use the diagnosis test form attached to the article referenced below
Reference:
Note 291955.1 Diagnosis Test Form For Easy Debugging of FRM-41213 Error
2) Unable to run report from a form and pass parameter from a form to report. Ensure the initial value is specified in the Property Inspector of the parameter in Reports Builder.
3) Other general problem solving hints:
* Ensure that the RDF runs standalone i.e via Reports Builder, rwservlet or rwclient
* Test with a simple test report e.g [oracle_home]\reports\samples\demos\test.rdf
* Any errors from the above, resolve these first before returning to troubleshoot the RUN_REPORT_OBJECT code
|
|
|
Re: FRM-41213 [message #230023 is a reply to message #229682] |
Tue, 10 April 2007 10:59   |
harleenflora
Messages: 44 Registered: June 2006
|
Member |
|
|
https://metalink.oracle.com/metalink/plsql/f?p=130:14:3614372983442082270::::p14_database_id,p14_docid,p14_show_header,p14_show_help, p14_black_frame,p14_font:NOT,289748.1,1,1,1,helvetica
|
|
|
|
Re: FRM-41213 [message #230700 is a reply to message #230102] |
Thu, 12 April 2007 11:00   |
harleenflora
Messages: 44 Registered: June 2006
|
Member |
|
|
Finally my 10g Form which is generating report is working fine on my local machine.
But on the Test Server, I am getting FRM-41214 error, and the reports status is TERMINATED_WITH_ERROR. On the Test Server, Report Server is up and running. I could run the report by simply pasting the url but it doesn't run through the form???
Any idea's what is causing this?
My second problem is that I have hard coded the name of report server in the form and I want to avoid this. Any solution to this?
Following is my code:
PROCEDURE Run_Report_Object_Proc(
p_rep_name VARCHAR2,
rep_actions VARCHAR2,
rep_destype VARCHAR2,
rep_dest_filename VARCHAR2)
IS
repid REPORT_OBJECT := find_report_object('REP_OBJ');
v_rep VARCHAR2(100);
rep_status VARCHAR2(50);
BEGIN
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,'rep_oraldb02_J2EE_FR');
Set_Report_Object_Property(repid, REPORT_OTHER, rep_actions);
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('/reports/rwservlet/getjobid' ||substr(v_rep,instr(v_rep,'_',-1)+1) || '?destype=cache&desformat=pdf/html&server=' || 'rep_oraldb02_J2EE_FR', '_blank');
ELSE
message('Error when running report');
END IF;
END;
PLEASE HELP!!!
- Harleen
|
|
|
|
|
Re: FRM-41213 [message #231836 is a reply to message #226120] |
Wed, 18 April 2007 09:54   |
harleenflora
Messages: 44 Registered: June 2006
|
Member |
|
|
David: I read the information in the link you specified and tried
following code:
vrepid report_object;
v_rep VARCHAR2 (100);
v_show_document VARCHAR2 (2000) := '/reports/rwservlet?';
v_connect VARCHAR2 (30) := 'username/password@database';
v_report_server VARCHAR2 (30) := 'rep_oraldb02_J2EE_FR';
BEGIN
IF GET_APPLICATION_PROPERTY (user_interface) = 'WEB'
THEN
v_show_document := v_show_document
|| v_connect
-- Report server
|| '&server='
|| v_report_server
-- Report name
|| '&report=rsumsup'
-- Reports parameters
|| '&destype=cache'
|| '&desformat=PDF';
web.show_document (v_show_document);
ELSE
vrepid := find_report_object('REP_OBJ');
v_rep := RUN_REPORT_OBJECT(vrepid);
WEB.Show_Document('/reports/rwservlet/getjobid'
||substr(v_rep,instr(v_rep,'_',-1)+1)
||'?destype=cache&desformat=html'
||'server=rep_oraldb02_J2EE_FR', '_blank');
END IF;
END;
1) First all, I don't want to hard code the username and the password and if I comment the v_connect, I get the error message saying that 'REP-1202: ORACLE logon not specified.'
2) And if I hard code, I get following error message:
REP-52005: The specified key username/password@database does not exist in key map file.
3) Moreover I don't want to hard code the server name also.
4) Above code is leading me into other different problems...
I understand that I should use web.show_document and not run_report_object statements but if you see the code I posted on
Thu, 12 April 2007 works absolutely fine on my local machine without any problem, my only question is WHY DOESN'T IT WORK ON 10G TEST SERVER?
Does DBA needs to modify configuration files settings on the Test Server???
Please let me know...
|
|
|
|
Re: FRM-41213 [message #232259 is a reply to message #231973] |
Thu, 19 April 2007 23:31  |
 |
djmartin
Messages: 10181 Registered: March 2005 Location: Surges Bay TAS Australia
|
Senior Member Account Moderator |
|
|
There is an example in the Forms documentation that shows how to get th ecurrent username/password and connect_string. This means that you don't have to hardcode these details but get them from the running environment.
/*
** Built-in: GET_APPLICATION_PROPERTY
** Example: Capture the username and password of the
** currently logged-on user, for use in calling
** another Tool.
*/
PROCEDURE Get_Connect_Info(
the_username IN OUT VARCHAR2,
the_password IN OUT VARCHAR2,
the_connect IN OUT VARCHAR2) IS
BEGIN
the_username := Get_Application_Property(USERNAME);
the_password := Get_Application_Property(PASSWORD);
the_connect := Get_Application_Property(CONNECT_STRING);
END;
Does that help?
Also have a look at the 'rwservlet.properties' on your PC. I have discussed the issue of specifying the report server name with a colleague and sayd that in this file you can change the 'server' name so that you can run a report on your PC during testing, and when you run it on th emain server it will use the main report server. I don't know whetehr he is right or not as I don't have a 9i/10g environment available for me to do testing. His crytic note sayd "rwserlet.install is a prototype. copy it to xxx.conf" I assume the 'xxx' is the name of the report server you want to use.
David
|
|
|
Goto Forum:
Current Time: Mon Mar 10 05:43:06 CDT 2025
|