Comment créer une source de rapport

Avant de pouvoir utiliser les contrôle d'exportation et visualiseur dans vos pages JSP, vous devez obtenir une source de rapport.

Une source de rapport est un objet qui représente une instance unique d'un rapport utilisé à la fois par le contrôle d'exportation et le visualiseur. Le Java Reporting Component, le Page Server et RAS peuvent être utilisés pour obtenir des sources de rapport.

Pour créer une source de rapport à l'aide du Java Reporting Component, vous devez connaître l'emplacement du rapport que vous voulez visualiser ou exporter. L'emplacement du rapport est spécifié à l'aide d'un chemin relatif ou absolu. De la même manière, pour que le Java Reporting Component récupère correctement les données pour un rapport, les sources de données du rapport doivent être correctement spécifiées via JNDI ou le rapport doit être conçu à partir d'une source de données JDBC.

Il existe deux méthodes pour obtenir une source de rapport avec le JRC (Java Reporting Component). La première (recommandée) consiste à utiliser la classe ReportClientDocument pour obtenir une source de rapport. La deuxième consiste à utiliser la classe IReportSourceFactory2.

Pour créer un objet source de rapport avec ReportClientDocument
  1. Vérifiez que vous avez importé la classe ReportClientDocument.
  2. import com.crystaldecisions.reports.sdk.ReportClientDocument;

  3. Créez une instance de la classe ReportClientDocument.
  4. ReportClientDocument reportClientDoc = new ReportClientDocument();

  5. Appelez la méthode d'ouverture de l'objet ReportClientDocument en lui transmettant le chemin du rapport souhaité et les paramètres régionaux actuels.
  6. String report = "/reports/sample.rpt";
    reportClientDoc.open(report, 0);
    Object reportSource = reportClientDoc.getReportSource();

    Remarque :    L'emplacement du rapport dans le code ci-dessus varie selon que vous utilisez des chemins relatifs ou absolus. Avec un chemin relatif, le rapport ci-dessus correspond à <web_app_dir>/WEB-INF/lib/reports/sample.rpt. Avec un chemin absolu, il correspond d'abord à <web_app_dir>/WEB-INF/classes/reports/sample.rpt d'abord, puis à /reports/sample.rpt.

  7. Quand vous avez obtenu une source de rapport, vous devez la mettre en cache dans la variable de session si vous utilisez le JRC.
  8. session.setAttribute("reportSource", reportSource);

Remarque :    Le rapport utilisé dans cet exemple n'est pas inclus dans les didacticiels.

Pour créer une source de rapport avec IReportSourceFactory2
  1. Assurez-vous d'avoir importé la classe JPEReportSourceFactory et les interfaces IReportSourceFactory2.
  2. <%@ page import="com.crystaldecisions.reports.reportengineinterface.JPEReportSourceFactory" %>

    <%@ page import="com.crystaldecisions.sdk.occa.report.reportsource.IReportSourceFactory2" %>

  3. Créez un objet JPEReportSourceFactory.
  4.     IReportSourceFactory2 rptSrcFactory = new JPEReportSourceFactory();

  5. Appelez la méthode createReportSource de l'objet IReportSourceFactory2 en lui transmettant le chemin du rapport souhaité et les paramètres régionaux actuels.
  6. String report = "/reports/sample.rpt";

        Object reportSource = rptSrcFactory.createReportSource(report, request.getLocale());

    Remarque :    L'emplacement du rapport dans le code ci-dessus varie selon que vous utilisez des chemins relatifs ou absolus. Avec un chemin relatif, le rapport ci-dessus correspond à <web_app_dir>/WEB-INF/lib/reports/sample.rpt. Avec un chemin absolu, le rapport ci-dessus correspond d'abord à <web_app_dir>/WEB-INF/classes/reports/sample.rpt , puis à /reports/sample.rpt.

  7. Quand vous avez obtenu une source de rapport, vous devez la mettre en cache dans la variable de session si vous utilisez le Java Reporting Component.
  8. session.setAttribute("reportSource", reportSource);

Remarque :    Le rapport utilisé dans cet exemple n'est pas inclus dans les tutoriels.



Business Objects
http://www.france.businessobjects.com/
Support technique
http://www.businessobjects.com/services/support/