Java OA集成SAP BO

  SAP BO报表查看需要登录SAP BO系统,为了方便公司希望将BO报表集成到OA系统中,所以参考网上资料加上与SAP BO的顾问咨询整理出一套通过Java来集成SAP BO的功能。

  SAPBO中的报表链接为:http://ip:port/BOE/Xcelsius/opendoc/documentDownload?iDocID=FvWSEVkQXQgAPEcAAADn8KADAFBWr2gK&CELogonToken=***

  Java集成的报表链接为:http://ip:port/BOE/OpenDocument/opendoc/openDocument.jsp?sIDType=CUID&iDocID=FnMYaVYDPgkAzA0AAAAHEX0AAFBWr2lv&token=***

  Java集成的重点是如何来获取token参数值来跳转到相应的报表。参考网上方案得到如下代码可以获取到token。

 1 HttpSession session = request.getSession();
 2         
 3         String cms = "***.***.***.***:6400";
 4         
 5         //认证的安全类型,类型是以上几种,如果是SAP,则类型字符为secSAPR3
 6         String authentication = "secSAPR3";
 7         
 8         //用户名,如果是SAP系统方式登录,格式为bwp~888/eiacext1
 9         String poUsername = "BOUSER";
10         String poPassword = "PASSWORD";//密码
11 
12         //登录并获得TOKEN,并命名用OpenDocument方式打开一个文件
13         ISessionMgr sessionMgr = CrystalEnterprise.getSessionMgr();
14         IEnterpriseSession enterpriseSession = sessionMgr.logon(poUsername, poPassword, cms,authentication);
15         ILogonTokenMgr mgr = enterpriseSession.getLogonTokenMgr();
16         
17         /**
18          * 
19          * String  token=logonTokenMgr.createLogonToken("",10,5);
20             其中createLogonToken(java.lang.String clientComputerName, int validMinutes, int validNumOfLogons)
21             clientComputerName为使用这个token的客户端计算机名,空字符串表示该token可被任何客户端使用;
22             validMinutes为token的有效时间(分钟);
23             validNumOfLogons 表示该token允许被使用的最大次数。
24          * 
25          */
26         String tokenStr = mgr.createLogonToken("",24*60,Integer.MAX_VALUE);
27         
28         session.getServletContext().setAttribute("token", tokenStr);
View Code

  通过代码查询所需要的jar包入下图所示:

  引入了这些jar包之后运行成功跳转到了相应的报表,接下来遇到一个问题要通过OA来控制数据权限及传输相应的报表参数到BO报表。

  查询BOE中opendocument使用说明,找到lsS[name]的参数方式来通过Java传输相应name参数到BO报表。

  最终得到链接:

http://ip:port/BOE/OpenDocument/opendoc/openDocument.jsp?sIDType=CUID&iDocID=FnMYaVYDPgkAzA0AAAAHEX0AAFBWr2lv&lsSparamString=h&token=***

 

相关的BOE中opendocument使用说明可以参考:https://wenku.baidu.com/view/09a002280066f5335a81217a.html

代码的相关实现参考:http://www.cnblogs.com/yangzhilong/p/3352153.html

  

转载于:https://www.cnblogs.com/0xiaohei0/p/7206378.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值