BO示例脚本程序
作者:Shawn Penner,现就职于SAP
原文地址(英语):
http://scn.sap.com/people/shawn.penner/blog/2013/06/04/scripts-and-samples
作者简介
本文作者 Shawn Penner 在SAP BusinessObject(前身Crystal Decisions) 的技术支持部分已有超过10年的工作经验。在他的实际工作中,他曾写过很多基于BO SDK的示例代码,用以实现诸如:功能演示,回避产品功能限制,修复一些系统问题等场景。
本文收集了一些场景的样例代码,并展示了如何去使用它们。
作者的一些相关博文
标题:清理系统中的垃圾文件
简介
此文包含了一段示例程序用以进行FRS 服务器里的文件清理。这是因为使用BO自带的reposcan工具是能够清除掉CMS DB中的垃圾infoobjects信息,但是对于FRS 硬盘中的垃圾文件则无法清除。这里的代码便可用于实现清理FRS的需求。
示例代码
扫描并清理FRS 服务器
处理 RepoScan XML (处理reposcan 日志文件从而确定需要清理的垃圾文件并进行清理)
处理 RepoScan XML (处理reposcan 日志文件从而确定需要清理的垃圾文件并进行清理)
标题: 清理大量的报表实例
中文翻译版本:(翻译中)
简介
在此文中,包含了一系列不同的代码用以实现不同的清理需求。产品自带的功能可以设定一个实例数的上限值,但是如果有上千甚至百万级的实例数的时候,通过该功能去实现是有些困难的。此文章便包含了不同的示例代码去解决这些问题。而且还包含了一个额外的示例代码用来实现暂停所有的重复执行的计划从而使得能够在没有新的实例产生的情况下对当前的实例进行处理
示例代码
删除一个报表的所有实例 ——基本
删除所有的失败的实例
删除指定时间内被创建的所有实例
手动方式删除实例
暂停和继续所有的实例
标题:重新指定WebI报表的Universe语义层
原文URL: http://scn.sap.com/community/bi-platform/java-sdk/blog/2013/03/08/remapping-universes-for-webi-reports中文翻译版本:(翻译中)
简介
一个非常常见的问题是我们需要去重新为大量的webi报表重新指定Universe语义层。作者在过去做过大量的类似的工作并将相关的内容整理到了这篇文章中。不过需要注意的是,这篇文章的方法仅适用于XI R2,XI 3.x的版本。在BI 4开始相关的SDK类库被移除了因此本文的方法在BI 4中并不能适用。从BI 4 SP6开始,通过Restful SDK,我们又可以实现为webi报表指定universe的功能。但是目前作者还没有创建出类似的示例程序。而且,目前BI 4的Restful SDK仅支持针对单一语义层的WebI报表进行data provider的变更,这些在后续应该会做相应改进吧。
示例代码
自动检测并重新指定语义层
脚本检索并替换语义层
为独立的webi报表重新指定语义层
脚本检索并替换语义层
为独立的webi报表重新指定语义层
标题:用户管理的脚本代码
原文URL: http://scn.sap.com/community/bi-platform/java-sdk/blog/2013/05/14/scripts-for-user-management
简介
本文包含了一系列实现用户管理功能的示例代码。它可用来处理大量的重复性管理用户,用户组的操作。
示例代码
有效化,无效化所有用户
统计报表,示例的数量
统计报表,示例的数量
改变所有者
复制用户的基本设定
强制登出
删除别名
更改用户类型为命名用户或并行用户
添加别名
脚本代码的使用方法
以上的代码主要是基于BusinessObjects Enterprise XI 3.1 平台设计的。如果是一个默认安装的系统,它们大多数可以简单的通过捆绑的web程序(Infoview,CMC等)来执行。
针对BOE XI 3.x:
对于基于Java编写的jsp脚本用以处理用户或InfoObjects
- 把脚本代码复制到文件夹 “C:\Program Files (x86)\Business Objects\Tomcat7\webapps\InfoViewApp”
- 确保已经将如用户名,密码,CMS名等等需要更改的内容指定为您系统中相应的内容
- 确保Tomcat在运行 (如果已经在运行,是没必要去重启它的)
- 通过打开浏览器访问连接”http://MyServer:8080/InfoViewApp/MyScript.jsp“来执行脚本的代码逻辑。
对于基于Java编写的jsp脚本用以处理Webi 报表
- 把脚本代码复制到文件夹”C:\Program Files (x86)\Business Objects\Tomcat7\webapps\AnalyticalReporting”.
- 确保已经将如用户名,密码,CMS名等等需要更改的内容指定为您系统中相应的内容
- 确保Tomcat在运行 (如果已经在运行,是没必要去重启它的)
- 通过打开浏览器访问连接”http://MyServer:8080/AnalyticalReporting/MyScript.jsp“来执行脚本的代码逻辑。
对于基于Java编写的jsp脚本用以处理Crystal Reports 报表(水晶报表)
- 把脚本代码复制到文件夹”C:\Program Files (x86)\Business Objects\Tomcat7\webapps\CrystalReports”
- 确保已经将如用户名,密码,CMS名等等需要更改的内容指定为您系统中相应的内容
- 确保Tomcat在运行 (如果已经在运行,是没必要去重启它的)
- 通过打开浏览器访问连接”http://MyServer:8080/CrystalReports/MyScript.jsp“来执行脚本的代码逻辑。
对已VBScript编写的脚本
- 确保已经将如用户名,密码,CMS名等等需要更改的内容指定为您系统中相应的内容
- VBS scripts 仅可以在一个安装了BO .NET SDK的Windows环境中运行。BO .NET SDK可以通过安装BO的服务器或客户端组件来实现。
- VBS scripts 在 XI R2 版本是被官方支持的, 但在 XI 3.x 和 BI4 并不被官方支持,虽然通常这些代码也是可以运行的。
- 如果使用的是32位的Windows系统,简单通过双击就可以执行代码(此方法可能将得不到一些debug信息的输出),或者通过命令行输入”cscript.exe MyScript.vbs”来执行。
- 如果使用的是64位的Windows系统,则需通过命令行指定32位版本的cscript来执行,如 “%windir%\SysWOW64\cscript.exe MyScript.vbs”
针对SAP BusinessObjects Business Intelligence platform 4.0
对于基于Java编写的jsp脚本用以处理用户或InfoObjects
- 把脚本代码复制到文件夹”C:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\AdminTools”
- 确保已经将如用户名,密码,CMS名等等需要更改的内容指定为您系统中相应的内容
- 确保Tomcat在运行 (如果已经在运行,是没必要去重启它的)
- 通过打开浏览器访问连接”http://MyServer:8080/AdminTools/MyScript.jsp“来执行脚本的代码逻辑。
对于基于Java编写的jsp脚本用以处理Webi 报表
- 停止Tomcat
- 把脚本代码复制到文件夹”C:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\AdminTools”
- 确保已经将如用户名,密码,CMS名等等需要更改的内容指定为您系统中相应的内容
- 从文件夹”C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\lib” 和 “C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\lib\external” 中复制所有的jar文件到文件夹 “C:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\AdminTools\WEB-INF\lib”。如果复制的过程中出现了重名冲突,不要选择覆盖已有的jar文件。
- 启动Tomcat
- 通过打开浏览器访问连接”http://MyServer:8080/AdminTools/MyScript.jsp“来执行脚本的代码逻辑。
对于基于Java编写的jsp脚本用以处理Crystal Reports 报表(水晶报表)
- 停止Tomcat
- 把脚本代码复制到文件夹”C:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\AdminTools”
- 确保已经将如用户名,密码,CMS名等等需要更改的内容指定为您系统中相应的内容
- 从文件夹”C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\lib” 和 “C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\lib\external” 中复制所有的jar文件到文件夹”C:\Program Files (x86)\SAP BusinessObjects\Tomcat6\webapps\AdminTools\WEB-INF\lib”。如果复制的过程中出现了重名冲突,不要选择覆盖已有的jar文件。
- 启动 Tomcat
- 通过打开浏览器访问连接”http://MyServer:8080/AdminTools/MyScript.jsp“来执行脚本的代码逻辑。
对已VBScript编写的脚本
- 确保已经将如用户名,密码,CMS名等等需要更改的内容指定为您系统中相应的内容
- VBS scripts 仅可以在一个安装了BO .NET SDK的Windows环境中运行。BO .NET SDK可以通过安装BO的服务器或客户端组件来实现。
- VBS scripts 在 XI R2 版本是被官方支持的, 但在 XI 3.x 和 BI4 并不被官方支持,虽然通常这些代码也是可以运行的。
- 如果使用的是32位的Windows系统,简单通过双击就可以执行代码(此方法可能将得不到一些debug信息的输出),或者通过命令行输入”cscript.exe MyScript.vbs”来执行。
- 如果使用的是64位的Windows系统,则需通过命令行指定32位版本的cscript来执行,如 “%windir%\SysWOW64\cscript.exe MyScript.vbs”
其他的示例和文档
脚本代码:
Base Scripting Template for Webi Reports
Base Scripting Template for Crystal Reports
Base Scripting Template for InfoObjects
示例程序:
第一篇文章:清理系统中的垃圾文件,中文翻译如下:http://scn.sap.com/community/chinese/businessobjects/blog/2015/08/17/%E6%B8%85%E7%90%86%E7%B3%BB%E7%BB%9F%E4%B8%AD%E7%9A…
这些SDK在4.x版本里面都不好用是吧?
不是的,平台级别的SDK大部分还是可用的,一些报表级别的SDK被移到了restful接口中。上面的文章也有说明,比如:
一个非常常见的问题是我们需要去重新为大量的webi报表重新指定Universe语义层。作者在过去做过大量的类似的工作并将相关的内容整理到了这篇文章中。不过需要注意的是,这篇文章的方法仅适用于XI R2,XI 3.x的版本。在BI 4开始相关的SDK类库被移除了因此本文的方法在BI 4中并不能适用。从BI 4 SP6开始,通过Restful SDK,我们又可以实现为webi报表指定universe的功能。但是目前作者还没有创建出类似的示例程序。而且,目前BI 4的Restful SDK仅支持针对单一语义层的WebI报表进行data provider的变更,这些在后续应该会做相应改进吧。