L'exemple suivant est une page JSP qui démontre comment définir les paramètres demandés à la connexion. Une fois les paramètres définis, le rapport s'affiche.
Remarque : Pour chaque rapport utilisé avec ce tutoriel, vous devez avoir configuré la source de données JDBC de telle sorte que votre serveur d'applications y ait accès. Le rapport utilisé dans cet exemple n'est pas inclus dans les tutoriels.
<%@ 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.france.businessobjects.com/ Support technique http://www.businessobjects.com/services/support/ |