从文件存储服务器下载预定的Webi报告

问题描述 投票:1回答:2

已经在SAP BO中启动了计划报表,是否可以通过某种方式从文件存储库服务器下载?我正在使用Web Intelligence RESTful API。尽管可以使用GET /documents/<documentID>?<optional_parameters>请求同步导出报告,但除使用计划表外,我没有发现任何非阻塞异步方式。

这是预期的工作流程:

  1. 使用POST /documents/<documentID>/schedules创建计划的报告(“现在”)。使用自定义的唯一<ReportName>,存储scheduleID
  2. 使用GET /documents/<documentID>/schedules/<scheduleID>轮询计划状态
  3. 如果计划状态为1(成功),请使用CMS查询查找文件发送内容为POST /cmsquery{query: "select * from ci_infoObjects where si_instance=1 and si_schedule_status in (1) and si_name = '<ReportName>'"}从结果中读取"SI_FILES": {"SI_FILE1": "<generatedName>.pdf","SI_VALUE1": 205168,"SI_NUM_FILES":1,"SI_PATH": "frs://Output/<Path>"}
  4. 使用浏览器或RESTful API,下载文件

第4步完全可行吗? URL是什么?可以在CMC中配置内部基本路径,文件位置为<Path>/<generatedName>.pdf。但是,如何通过编程或使用URL来访问此文件而无需登录BO BI界面?

sap restful-url business-objects webi sap-bw
2个回答
1
投票

作为一种解决方法,可以使用openReport方法,从而将scheduleID(等于信息存储库中的SI_ID)作为参数传递。

GET /BOE/OpenDocument/opendoc/openDocument.jsp?iDocID=<scheduleID>&sIDType=InfoObjectID&token=<token>

对于文件类型PDF,显示浏览器内部的PDF查看器。对于XLS,将立即启动下载。


0
投票

[另一种选择是直接将报告生成到共享位置,例如到FTP服务器。方法如下:

  1. 在CMC的“文件夹”管理区域中,选择一个对象。
  2. 单击操作>计划,然后访问“目标”页面。

    如果要计划Web Intelligence文档,请单击“格式”。和目的地。

  3. 选择FTP服务器作为目的地。对于Web Intelligence文档,在“输出格式详细信息”下选择“ FTP服务器”,然后单击“目标选项和设置”。

这里是adm指南,在其中进行了详细说明(第858页)

https://help.sap.com/doc/24e00820a014406495980dea5d768d52/XI.3.1/en-US/xi31_sp3_bip_admin_en.pdf

或者您也可以检查已经执行此操作的确切步骤:

https://blogs.sap.com/2015/06/10/scheduling-webi-report-output-to-ftp-shared-file-location/

之后,您可以将您的FTP服务器公开到Internet并构造一个URL以供下载。

© www.soinside.com 2019 - 2024. All rights reserved.