Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

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

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

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=axeriatest&user=Administrator&pass=&cms=pa-81b36a7e9d


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;
		}
			 
	}

	
}
%>

Edited by: Moulery michel on Sep 17, 2008 9:37 AM

Edited by: Moulery michel on Sep 17, 2008 9:39 AM

Not what you were looking for? View more on this topic or Ask a question