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é.
<%@ taglib uri="/crystal
<%@ 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" %>
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");
IInfoObjects infoObjects = infoStore.query("SELECT * FROM CI_INFOOBJECTS WHERE SI_NAME='World Sales Report'");
IInfoObject report = (IInfoObject) infoObjects.get(0);
IReportSourceFactory2 reportFactory = (IReportSourceFactory2) es.getService ("", "RASReportFactory");
Object reportSource = reportFactory.createReportSource(report, request.getLocale());
Ceci permet au visualiseur de le récupérer.
session.setAttribute("ReportSource", reportSource);
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.
<crviewer:viewer viewerName="CrystalViewer" reportSourceType="reportApplicationServer" reportSourceVar="ReportSource" />
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/ |