1

在 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. 但是,如何在无需登录 BO BI 界面的情况下以编程方式或使用 URL 访问该文件?

4

2 回答 2

1

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

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

对于文件类型PDF,显示浏览器内部 PDF 查看器。对于XLS,立即开始下载。

于 2020-04-21T11:54:48.793 回答
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 以供下载。

于 2020-05-06T12:20:21.383 回答