Abap 通过RFC提供SAP报告

Abap 通过RFC提供SAP报告,abap,saprfc,pyrfc,Abap,Saprfc,Pyrfc,一位客户希望通过RFC访问SAP报告 步骤: 第三方应用程序通过RFC连接到SAP RFC呼叫被传输 SAP运行该报告 SAP返回报告。 如何在SAP内部实现该部分 我使用PyRFC作为客户端库。但好吧,这对这个问题根本不重要。这个问题只涉及SAP内部的服务器部分 在这种情况下,应通过RFC提供报告RM07MLBS。据我所知,通过启用RFC的功能模块触发报告的可能性有限。否则,请尝试通过功能模块根据您的报告触发事务。 同时检查: 我认为您无法向第三方系统回复报告结果 从咨询角度来看,我建议定期运

一位客户希望通过RFC访问SAP报告

步骤:

第三方应用程序通过RFC连接到SAP RFC呼叫被传输 SAP运行该报告 SAP返回报告。 如何在SAP内部实现该部分

我使用PyRFC作为客户端库。但好吧,这对这个问题根本不重要。这个问题只涉及SAP内部的服务器部分


在这种情况下,应通过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