从 R 以编程方式启动 BAPI?

问题描述

基本上我有两个问题::

  1. SAP 中的 BAPI 和 InfoQueries 之间有什么区别?
  2. 您将如何从 SAP 外部以编程方式启动和检索 BAPI 的结果?

我正在尝试通过 R 启动 SAP BAPI',我看到 RSAP 包应该允许 sending InfoQueries,但是 BAPI 怎么样?

我对 SAP 一无所知,但 InfoQueries 似乎被 Business Warehouse 使用,而 BAPI 将与 BusinessObjects 链接,所以我可能无法使用这个 RSAP 库......任何想法?

版本:

SAP ERP 2005,SP Stack 31
SAP Netweaver 7.5,SP Stack 16
EHP8 for SAP ERP 6.0: SP Stack 13

解决方法

你对 SAP 一无所知,而我对 R 一无所知,所以让我们保持一致。

根据我对 r 包的了解(因为它是 removed from CRAN):

  • 支持 RFC 调用
  • 调用 RFC 函数的关键字是 nRSAPInvoke(con,func,parms)

用于检索 RFC_GET_TABLE_ENTRIES 函数结果的示例编码列于 R docu

con <- RSAPConnect(ashost="nplhost",sysnr="42",client="001",user="developer",passwd="developer",lang="EN",trace="1",lcheck="1")

info = RSAPGetInfo(con) print(info)

parms <- list('BYPASS_BUFFER' = 'X','MAX_ENTRIES' = 50,'TABLE_NAME' = 'T005')

res <- RSAPInvoke(con,"RFC_GET_TABLE_ENTRIES",parms) print(res$ENTRIES) RSAPClose(con)

BAPI 表格结果作为 data.frame 返回。

您必须知道的最重要的事情,这可能会让您感到困惑:BAPIRFC function 在您的上下文中是相同的事情,因此您在网络上阅读的所有内容关于 RFC 调用也适合您。

也考虑一下这个问题,可能很有用: How do I extract non-HANA ECC tables into R?

关于您关于 InfoQueries 的第一个问题,请为其创建一个新的 SO 问题,将两个问题合二为一违反了 SO 规则。 但我认为您的新问题也将结束,因为诸如“A 是什么?B 是什么?A 和 B 之间的区别是什么(BAPI 和 InfoQuery?”之类的问题在 SO 上是不鼓励的。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...