CR报表参数传递与SSO实现指南

需积分: 9 1 下载量 153 浏览量 更新于2024-09-09 收藏 536KB DOC 举报
"如何向Crystal Reports (CR) 报表传递参数并实现单点登录(SSO)" 这篇描述涉及的是在SAP Business Objects (BO) 平台上如何创建带有参数的Crystal Reports (CR) 报表,并将其发布到InfoView,同时实现单点登录功能。以下是详细的步骤和知识点: 1. 创建带参数的CR报表并发布到InfoView: - 在Crystal Reports设计环境中,完成报表的创建并添加所需的参数。 - 要发布报表,选择"文件"菜单中的"另存为",然后选择"Enterprise"选项。这将报表上传到BOE Server,使其可在InfoView中访问。 - 在"参数"部分,清除默认参数设置,以便用户在运行报表时可以输入自定义值。 - 如果不希望在报表中显示左侧的组树(分组列表),取消勾选"创建组树"选项。 2. 部署单点登录(SSO)的JSP页面以传递参数到CR报表: - SSO的基本原理是通过JSP应用程序模拟登录CMS(Central Management Server),获取登录令牌(token),然后使用该令牌打开报表。 - 提供了一个名为`ReportSSO.jsp`的示例JSP文件,它连接到CMS,获取令牌,并通过`openDocument.jsp`传递给报表。 - `openDocument.jsp`是BOE提供的用于打开报表的组件,其使用方法可以在相关PDF文档中找到。 - 关键注意事项: - URL应尽可能使用相对路径,以确保在不同环境下的兼容性。 - 将必要的JAR包(如BusinessObjects的库)复制到集成应用服务器的Web应用程序服务器目录下。 - 修改`ReportSSO.jsp`的代码,并部署到应用中。在链接中调用此JSP,传递必要的参数,例如`sIDType=CUID&iDocID=AcDmk089hwRFkSnDDjpx_zU`,这里的`CUID`用于识别BOE Server上的特定报表。 - 获取`CUID`的方法: - 可以直接在特定界面查看报表的`CUID`。 - 或者参照`boe_xi_r2_opendocument.pdf`文档的第2页开始,通过查询生成器查找。 通过以上步骤,用户能够在InfoView中访问到带参数的报表,并通过单点登录无缝地与CR报表进行交互,提高用户体验和安全性。在SAP BO环境中,这种集成和参数传递是报表分发和权限管理的重要组成部分。