cancel
Showing results for 
Search instead for 
Did you mean: 

set parameters input automatically in my report and connection to my base

Former Member
0 Kudos

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

http://pa-81b36a7e9d/businessobjects/enterprise11/desktoplaunch/opendoc/view_report.jsp?sdoc=axeriat...

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;

}

}

}

%>

Accepted Solutions (0)

Answers (1)

Answers (1)

aasavaribhave
Advisor
Advisor
0 Kudos

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

Former Member
0 Kudos

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

Former Member
0 Kudos

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