已经在SAP BO中启动了计划报表,是否可以通过某种方式从文件存储库服务器下载?我正在使用Web Intelligence RESTful API。尽管可以使用GET /documents/<documentID>?<optional_parameters>
请求同步导出报告,但除使用计划表外,我没有发现任何非阻塞异步方式。
这是预期的工作流程:
POST /documents/<documentID>/schedules
创建计划的报告(“现在”)。使用自定义的唯一<ReportName>
,存储scheduleID
GET /documents/<documentID>/schedules/<scheduleID>
轮询计划状态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步完全可行吗? URL是什么?可以在CMC中配置内部基本路径,文件位置为<Path>/<generatedName>.pdf
。但是,如何通过编程或使用URL来访问此文件而无需登录BO BI界面?
作为一种解决方法,可以使用openReport方法,从而将scheduleID
(等于信息存储库中的SI_ID
)作为参数传递。
GET /BOE/OpenDocument/opendoc/openDocument.jsp?iDocID=<scheduleID>&sIDType=InfoObjectID&token=<token>
对于文件类型PDF
,显示浏览器内部的PDF查看器。对于XLS
,将立即启动下载。
[另一种选择是直接将报告生成到共享位置,例如到FTP服务器。方法如下:
单击操作>计划,然后访问“目标”页面。
如果要计划Web Intelligence文档,请单击“格式”。和目的地。
这里是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以供下载。