Visualisation d'un état utilisant un serveur RAS géré

Cet exemple montre comment utiliser la Viewer Tag Library pour afficher un état utilisant une source d'état provenant d'un Report Application Server géré.

Pour visualiser un état utilisant un serveur RAS géré
  1. Importez les classes et les bibliothèques appropriées.

    <%@ taglib uri="/crystal-tags-reportviewer.tld" prefix="crviewer" %>

    <%@ page import="com.crystaldecisions.sdk.exception.SDKException" %>

    <%@ page import="com.crystaldecisions.sdk.framework.ISessionMgr" %>

    <%@ page import="com.crystaldecisions.sdk.framework.IEnterpriseSession" %>

    <%@ page import="com.crystaldecisions.sdk.framework.CrystalEnterprise" %>

    <%@ page import="com.crystaldecisions.sdk.occa.managedreports.*" %>

    <%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject" %>

    <%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObjects" %>

    <%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore" %>

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



  2. Connectez-vous à Crystal Enterprise et obtenez un objet InfoStore.

    Dans ce cas, le compte administrateur par défaut est utilisé pour se connecter à une installation Crystal Enterprise fonctionnant sur le même ordinateur que le serveur d'application.

    <%

        IEnterpriseSession es = CrystalEnterprise.getSessionMgr().logon("administrator", "", "localhost", "secEnterprise");

        IInfoStore infoStore = (IInfoStore) es.getService("", "InfoStore");



  3. Interrogez l'état que vous souhaitez visualiser.

    IInfoObjects infoObjects = infoStore.query("SELECT * FROM CI_INFOOBJECTS WHERE SI_NAME='World Sales Report'");

        IInfoObject report = (IInfoObject) infoObjects.get(0);



  4. Créez une source d'état RAS pour l'état que vous avez récupéré.

        IReportSourceFactory2 reportFactory = (IReportSourceFactory2) es.getService ("", "RASReportFactory");

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



  5. Mettez l'objet ReportSource en mémoire cache dans une variable de session.

    Ceci permet au visualiseur de le récupérer.

        session.setAttribute("ReportSource", reportSource);

    %>



  6. Créez une balise viewer, en spécifiant le nom du visualiseur, le type de source d'état et la variable de la source d'état.

    Dans ce cas, la source d'état reportApplicationServer est utilisée et la variable de la source d'état se réfère à la variable de session dans laquelle vous avez stocké l'objet ReportSource.

    <html>

    <body>

    <crviewer:viewer viewerName="CrystalViewer" reportSourceType="reportApplicationServer" reportSourceVar="ReportSource" />

    </body>

    </html>



    Remarque :    Dans ce cas, vous n'avez pas besoin de balise report car la source d'état a déjà été mise en cache dans une variable de session et le visualiseur n'a pas besoin de la récupérer.


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