Abap 通过RFC提供SAP报告
一位客户希望通过RFC访问SAP报告 步骤: 第三方应用程序通过RFC连接到SAP RFC呼叫被传输 SAP运行该报告 SAP返回报告。 如何在SAP内部实现该部分 我使用PyRFC作为客户端库。但好吧,这对这个问题根本不重要。这个问题只涉及SAP内部的服务器部分Abap 通过RFC提供SAP报告,abap,saprfc,pyrfc,Abap,Saprfc,Pyrfc,一位客户希望通过RFC访问SAP报告 步骤: 第三方应用程序通过RFC连接到SAP RFC呼叫被传输 SAP运行该报告 SAP返回报告。 如何在SAP内部实现该部分 我使用PyRFC作为客户端库。但好吧,这对这个问题根本不重要。这个问题只涉及SAP内部的服务器部分 在这种情况下,应通过RFC提供报告RM07MLBS。据我所知,通过启用RFC的功能模块触发报告的可能性有限。否则,请尝试通过功能模块根据您的报告触发事务。 同时检查: 我认为您无法向第三方系统回复报告结果 从咨询角度来看,我建议定期运
在这种情况下,应通过RFC提供报告RM07MLBS。据我所知,通过启用RFC的功能模块触发报告的可能性有限。否则,请尝试通过功能模块根据您的报告触发事务。 同时检查: 我认为您无法向第三方系统回复报告结果
从咨询角度来看,我建议定期运行报告,将结果写入表中,通过启用RFC的功能模块从第三方系统获取数据。最好的方法是将报告包装在启用RFC的定制功能模块中,然后授予他们运行RFC功能模块的权限。在一个完美的世界中,您可以将报表逻辑封装在abap类或专用功能模块中,并将其用作报表和RFC调用的基础。但是,如果这是一个标准的SAP报告,而SAP本身不够好,无法提供上述功能模块,则您可能没有此选项 我不认为这是满足您要求的最佳解决方案,但只需在其他答案中已经提到的选项上添加另一个选项:商业产品Theobald Extract Universal可以使用几种可用的目标类型执行报告并返回结果。Xtract是一种windows服务,它提供与多种目标数据库类型的连接以及基于http的结果流。但它并不便宜,而且基本上只能连接到基于SAP Netweaver的系统,因为它的数据源至少支持S/4。必须额外购买目标目的地,但至少不是每个系统,而是每个目的地类型Oracle、MySQL、MSSQL Xtract Universal使用许多客户功能模块在目标系统中执行报告,捕获输出并返回它,本质上是一堵文本墙。您将不得不自己解析该结果,您将无法得到一个包含数据的好的预解析表
只是为了确保对可能的利益冲突没有误解:我不为Theobald工作,但我们是付费客户,使用Xtract进行我们自己的数据提取。它使用起来非常简单,可以用脚本执行,但正如前面所说,它只做一项工作。你需要一个算盘来为你制作一个函数,我认为没有它是不可能的 如果你有一个算盘,就这样做:
SUBMIT <REPORT_NAME> ... EXPORTING LIST TO MEMORY AND RETURN.
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = t_listobj.
CALL FUNCTION 'LIST_TO_ASCI'
TABLES
listasci = t_ascilist
listobject = t_listobj.
这个问题太宽泛了,因为其中有多个问题:如何从何处进行RFC调用,您使用哪种语言?;你想调用哪个报告以及它如何显示数据?@SandraRossi是的,你是对的。或者你是对的。我更新了问题并将其缩小到SAP内部的部分。客户端库在此上下文中并不重要。请详细说明如何使用HTML或XML?这是必须通过spool完成的,还是也可以通过内存完成?我不确定是否可以使用内存,但如果发送到spool,则可以使用函数获取spoll的HTML而不是XML。我用一些函数更新了awnser
RSPO_RETURN_ABAP_SPOOLJOB
RSPO_RETURN_SPOOLJOB_DAT
RSPO_RETURN_SPOOLJOB_HTML