Exemple 2 - Définition de paramètres avec Logon

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.

SetParametersWithLogon.jsp

<%@ 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/