on 09-17-2008 1:00 PM
Hello
this my programmes , it work it's ok ( see bottom of the page )
Now i have a rapport rpt with a input edit (example number customer )
I want by my file jsp that the number customer display automatically
in my rapport rpt ( variable string or integer or date) and after validate automaticcaly
and connection to my database automartically ( database oracle 8 user and paswword)
(by example with my url , i pass a parameters input and automatically i will see
the rapport rpt ) it's possible , How to make in jsp ?
thanks to help me
regards
Michel
Ps : Notes fresh for the connection in my database oracle
i have modified CrystalReportViewer.jsp but i have an message
"Information is needed before this report can be processed " why ?
<%@ page import="com.crystaldecisions.report.web.viewer.*" %>
<%@ page import="com.crystaldecisions.sdk.occa.report.data.*" %>
<%@ page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2" %>
<%@ page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSource" %>
<%
CrystalReportViewer viewer = new CrystalReportViewer();
ConnectionInfos connInfos = new ConnectionInfos();
IConnectionInfo connInfo1 = new ConnectionInfo();
connInfo1.setUserName("user");
connInfo1.setPassword("pass");
viewer.refresh();
Object reportSource = session.getAttribute("reportSource");
viewer.setReportSource(reportSource);
viewer.setDatabaseLogonInfos(connInfos);
viewer.setEnableLogonPrompt(false);
viewer.processHttpRequest(request, response,getServletConfig().getServletContext(), out);
viewer.dispose();
%>
this programmes are ok (but now i search to display a variable on my report)
via url
CrystalReportViewer.jsp
-
<%@ page import = "com.crystaldecisions.report.web.viewer.*"%>
<%
CrystalReportViewer viewer = new CrystalReportViewer();
viewer.setName("CrystalReportViewer");
viewer.setOwnPage(true);
//Enable Active-X print mode.
viewer.setPrintMode(CrPrintMode.ACTIVEX);
//Obtain report source of the report that the viewer will display.
Object reportSource = session.getAttribute("reportSource");
viewer.setReportSource(reportSource);
viewer.processHttpRequest(request, response, getServletConfig().getServletContext(), null);
%>
view_report.jsp
-
<%
/*
Applies to Versions: XI
Creation Date: Febuary 28 2005
Description:
This sample to demonstrates how to view a Crystal Report on demand in
* the zero-client DHTML viewer.
Author: CW.
*/
%>
<%@ page import = "com.crystaldecisions.sdk.occa.infostore.*,
com.crystaldecisions.sdk.plugin.desktop.common.*,
com.crystaldecisions.sdk.framework.*,
com.crystaldecisions.sdk.occa.security.*,
com.crystaldecisions.sdk.exception.SDKException,
com.crystaldecisions.sdk.occa.managedreports.IReportSourceFactory,
java.util.Locale,
com.crystaldecisions.sdk.occa.report.reportsource.IReportSource"
%>
<%@ include file = "logonform.jsp" %>
<%
String cms = request.getParameter("cms");
String user = request.getParameter("user");
String pass = request.getParameter("pass");
String sdocName = request.getParameter("sdoc");
try {
//If logon information is required, display the logonForm and exit.
//Create a special logon form that requests 2 Report Names
//(code for LogonForm class is included).
LogonForm logonform = new LogonForm(response, request, LogonForm.REPORT_NAME);
//if (logonform.display_if_needed()) return;
// ici doit recuperer le nom du document
logonform.reportname[0] = sdocName ; //"diagramme";
//Log in.
IEnterpriseSession enterpriseSession = CrystalEnterprise.getSessionMgr().logon(user,pass,cms,"secEnterprise");
//Grab the InfoStore from the httpsession
IInfoStore infoStore = (IInfoStore)enterpriseSession.getService("", "InfoStore");
//Query for the report object in the CMS. See the Developer Reference guide for more information the query language.
IInfoObjects oInfoObjects = (IInfoObjects)infoStore.query("SELECT TOP 1 * " +
"FROM CI_INFOOBJECTS " +
"WHERE SI_PROGID = 'CrystalEnterprise.Report' AND SI_INSTANCE=0 AND SI_NAME='" + logonform.reportname[0] + "'" );
if (oInfoObjects.size() > 0) {
//Retrieve the latest instance of the report
IInfoObject oInfoObject = (IInfoObject) oInfoObjects.get(0);
//Use the PS report factory to obtain a report source that will be processed on the Page Server.
IReportSourceFactory factoryPS = (IReportSourceFactory)enterpriseSession.getService("PSReportFactory");
Object reportSource = factoryPS.openReportSource((oInfoObject), Locale.ENGLISH);
session.setAttribute("reportSource", reportSource);
//View the report in the standard DHTML viewer.
response.sendRedirect("CrystalReportViewer.jsp");
}
else {
out.println("Report " + logonform.reportname[0] + " not found.");
}
}
catch(SDKException sdkEx) {
out.println(sdkEx);
}
%>
logonform.jsp
-
<%!
/**************************** class LogonForm ***************************
This logon form is used to gather the logon information needed
to login to Enterprise
***********************************************************************/
private class LogonForm {
HttpServletResponse response;
HttpServletRequest request;
int num_reports_needed = 1;
String[] reportname;
public static final int NONE = 0;
public static final int REPORT_NAME = 1;
public static final int REPORT_NAME_X2 = 2;
/************************************************************************
Constructor - Save the response and request objects
***********************************************************************/
LogonForm(HttpServletResponse response, HttpServletRequest request)
{
//this.response = response;
//this.request = request;
}
/************************************************************************
Constructor with options - Add some optional boxes to request other
input from the user such as reportnames.
***********************************************************************/
LogonForm(HttpServletResponse response, HttpServletRequest request, int extra_requests) {
this.response = response;
this.request = request;
switch (extra_requests) {
case NONE:
break;
case REPORT_NAME:
num_reports_needed = 1;
reportname = new String[1];
break;
case REPORT_NAME_X2:
num_reports_needed = 2;
reportname = new String[2];
break;
}
}
}
%>
Hi,
It appears like the report you are processing needs parameters to be set before viewing. Please visit the following link for samples on how to set parameters for report viewing. There are a lot of samples collected but look in Viewing\view report parameter for the specific sample.
It prompts users for entering parameters. If you don't want to prompt, then you will have to set them in the code as shown in set_params.jsp in the specific sample.
https://boc.sdn.sap.com/node/3211
Thanks
Aasavari
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
oh thanks but i have an error on this example Viewingview_report_parameters
but where is my connection to my database in file jsp ?
thanks
windows
CMS NAme = MyCMS
user = myuser
pass = password
aut = enterprise
doc = my doc
ok
after enter values : i Put my values
ok
after click on button view report this is error
Etat HTTP 500 -
-
-
type Rapport d'exception
message
description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
exception
org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
cause mère
java.lang.NullPointerException
org.apache.jsp.opendoc.CrystalReportViewer_jsp._jspService(CrystalReportViewer_jsp.java:80)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/5.0.27.
-
-
Apache Tomcat/5.0.27
hello
For the connection it's ok but i don't no why !!!!
I had a long time the error 500 (Http)
and after no error.
I have not changed , just desactived the line
viewer.setDatabaseLogonInfos(dbLogonInfos);
launch application
after i activate the line viewer.setDatabaseLogonInfos(dbLogonInfos);
and no error 500 it's OK but why ?
Configuration file in server ?
What do you think ?
Regards
Michel
User | Count |
---|---|
89 | |
10 | |
9 | |
9 | |
9 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.