The following example is a JSP page that demonstrates how to set parameters with logon. After the parameters have been set, the report is displayed.
Note: For any report used with this tutorial sample, you must have the appropriate JDBC data source configured so that it can be accessed by your application server. The report used in this example is not included with the tutorials.
<%@ page import = "com.crystaldecisions.sdk.occa.report.data.*" %>
<%@ page import = "com.crystaldecisions.report.web.viewer.*" %>
<%@ page import = "com.crystaldecisions.sdk.occa.report.*" %>
<%@ page import = "java.util.*" %>
<%@ page import = "com.crystaldecisions.sdk.occa.report.lib.*" %>
<%@ page import = "com.crystaldecisions.reports.sdk.ReportClientDocument" %>
<%
try {
Object reportSource = session.getAttribute("reportSource");
if (reportSource == null)
{
ReportClientDocument oReportClientDocument = new ReportClientDocument();
oReportClientDocument.open("/SetParamAndLogon.rpt", 0);
reportSource = oReportClientDocument.getReportSource();
session.setAttribute("reportSource", reportSource);
}
Fields parameterFields = new Fields();
ParameterField numberParamField = new ParameterField();
numberParamField.setReportName("");
Values numberValues = new Values();
ParameterFieldDiscreteValue numParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();
ParameterField stringParamField = new ParameterField();
stringParamField.setReportName("");
Values stringValues = new Values();
ParameterFieldDiscreteValue stringParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();
ParameterField booleanParamField = new ParameterField();
booleanParamField.setReportName("");
Values booleanValues = new Values();
ParameterFieldDiscreteValue booleanParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();
ParameterField dateParamField = new ParameterField();
dateParamField.setReportName("");
Values dateValues = new Values();
ParameterFieldDiscreteValue dateParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();
ParameterField dateTimeParamField = new ParameterField();
dateTimeParamField.setReportName("");
Values dateTimeValues = new Values();
ParameterFieldDiscreteValue dateTimeParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();
ParameterField currencyParamField = new ParameterField();
currencyParamField.setReportName("");
Values currencyValues = new Values();
ParameterFieldDiscreteValue currencyParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();
ParameterField timeParamField = new ParameterField();
timeParamField.setReportName("");
Values timeValues = new Values();
ParameterFieldDiscreteValue timeParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();
ParameterFieldDiscreteValue
Integer numberValue = new Integer("5");
numberParamField.setName("NumberParam");
numParameterFieldDiscreteValue.setValue(numberValue);
numberValues.add(numParameterFieldDiscreteValue);
numberParamField.setCurrentValues(numberValues);
parameterFields.add(numberParamField);
String stringValue = "String parameter value.";
stringParamField.setName("StringParam");
stringParameterFieldDiscreteValue.setValue(stringValue);
stringValues.add(stringParameterFieldDiscreteValue);
stringParamField.setCurrentValues(stringValues);
parameterFields.add(stringParamField);
Boolean booleanValue = new Boolean("true");
booleanParamField.setName("BooleanParam");
booleanParameterFieldDiscreteValue.setValue(booleanValue);
booleanValues.add(booleanParameterFieldDiscreteValue);
booleanParamField.setCurrentValues(booleanValues);
parameterFields.add(booleanParamField);
Calendar calendar = Calendar.getInstance();
calendar.set(2004, 1, 17);
Date dateParamVal = calendar.getTime();
dateParamField.setName("DateParam");
dateParameterFieldDiscreteValue.setValue(dateParamVal);
dateValues.add(dateParameterFieldDiscreteValue);
dateParamField.setCurrentValues(dateValues);
parameterFields.add(dateParamField);
Calendar calendar2 = Calendar.getInstance();
calendar2.set(2002, 5, 12, 8, 23, 15);
Date dateTimeParamVal = calendar2.getTime();
dateTimeParamField.setName("DateTimeParam");
dateTimeParameterFieldDiscreteValue.setValue(dateTimeParamVal);
dateTimeValues.add(dateTimeParameterFieldDiscreteValue);
dateTimeParamField.setCurrentValues(dateTimeValues);
parameterFields.add(dateTimeParamField);
Double currParamVal = new Double(555.99);
currencyParamField.setName("CurrencyParam");
currencyParameterFieldDiscreteValue.setValue(currParamVal);
currencyValues.add(currencyParameterFieldDiscreteValue);
currencyParamField.setCurrentValues(currencyValues);
parameterFields.add(currencyParamField);
Calendar calendar3 = Calendar.getInstance();
calendar3.set(2002, 5, 12, 13, 44, 59);
Date timeParamVal = calendar3.getTime();
timeParamField.setName("TimeParam");
timeParameterFieldDiscreteValue.setValue(timeParamVal);
timeValues.add(timeParameterFieldDiscreteValue);
timeParamField.setCurrentValues(timeValues);
parameterFields.add(timeParamField);
ConnectionInfos connInfos = new ConnectionInfos();
IConnectionInfo connInfo1 = new ConnectionInfo();
connInfo1.setUserName("devtech");
connInfo1.setPassword("devtech");
connInfos.add(connInfo1);
CrystalReportViewer oCrystalReportViewer = new CrystalReportViewer();
oCrystalReportViewer.setReportSource(reportSource);
oCrystalReportViewer.setOwnPage(true);
oCrystalReportViewer.setOwnForm(true);
//oCrystalReportViewer.setPrintMode(CrPrintMode.ACTIVEX);
oCrystalReportViewer.setPrintMode(CrPrintMode.PDF);
oCrystalReportViewer.setParameterFields(parameterFields);
oCrystalReportViewer.setDatabaseLogonInfos(connInfos);
if (session.getAttribute("refreshed") == null)
{
oCrystalReportViewer.refresh();
session.setAttribute("refreshed", "true");
}
oCrystalReportViewer.processHttpRequest(request, response, getServletConfig().getServletContext(), null);
}
catch(ReportSDKException sdkEx) {
out.println(sdkEx);
}
%>
Business Objects http://www.businessobjects.com/ Support services http://www.businessobjects.com/services/support/ |