この例では、マネージド Report Application Server から取得したレポート ソースを使用してレポートを表示するための、ビューア タグ ライブラリの使用方法を示します。
<%@ 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" %>
この場合、デフォルトの Administrator アカウントを使用して、アプリケーション サーバー マシンと同じマシンで実行している Crystal Enterprise にログオンします。
<%
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());
これで、ビューアでそのオブジェクトが取得されます。
session.setAttribute("ReportSource", reportSource);
%>
この場合、レポート ソースの種類は reportApplicationServer であり、レポート ソース変数は ReportSource オブジェクトを格納したセッション変数を参照しています。
<html>
<body>
<crviewer:viewer viewerName="CrystalViewer" reportSourceType="reportApplicationServer" reportSourceVar="ReportSource" />
</body>
</html>
注 この場合、レポート ソースがセッション変数にキャッシュされており、ビューアで取得する必要がないため、レポート タグは必要ありません。
Business Objects http://japan.businessobjects.com/ サポート サービス http://japan.businessobjects.com/services/ |