问题标签 [pyrfc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
47634 浏览

python - 从 Python 查询 SAP 数据库?

可以使用 Python 查询 SAP 数据库吗?

0 投票
1 回答
5400 浏览

python - 通过 PyRFC 在 RFC_READ_TABLE 调用中打开 SQL 条件

如何使用 PyRFC 在 RFC_READ_TABLE 查询中指定 Open SQL WHERE 子句?

我正在尝试使用 PyRFC 让 python 从 SAP 中提取表(在没有支持/合作的基础团队的情况下)。在这个来自http://scn.sap.com/community/scripting-languages/blog/2012/11/04/revisiting-python-and-sap-with-pyrfc的例子中,他们使用:

http ://saplsmw​​.com/node/101 表示需要将 WHERE 子句作为 OPTION 传递给 RFC 调用。我如何在 PyRFC 中做到这一点?(OPTIONS 是 SAP 端 RFC_READ_TABLE 的功能模块声明中的 table 类型的导出变量)。

编辑:好的http://scn.sap.com/community/scripting-languages/blog/2014/05/05/python-for-basis有一个在 OPTIONS 中发送 WHERE 子句的示例:

所以看起来语法是单元素字典的数组(映射 SAP 表类型),其中键是 SAP 数据类型,值是 WHERE 子句。

所以下一个问题是:如何指定要发送到 RFC_READ_TABLE 的 PACKAGE SIZE 以便我可以在不达到内部表限制的情况下提取大表?

0 投票
1 回答
835 浏览

python - 如何为 BAPI 调用指定表结构?

如何定义表结构来调用 BAPI?我想打电话给“BAPI_PRODORD_GET_LIST”

0 投票
2 回答
908 浏览

python - sapnwrfc 调用始终返回 None/NULL

我知道连接 python 和 SAP 的最新库是PyRFC,我正在使用 Windows 开发 django 应用程序,当我尝试安装pyrfc-1.9.3-py2.7-win32.egg与我的系统相对应的库时,导入库时出现错误,错误是显示是因为缺少 pyrfc 导入的模块,我遵循了整个 README 文档,但我不知道如何使用这个库。

我决定改用sapnwrfc,所以我下载了源代码并用 MinGW 编译它,它安装得很好,我现在可以与 SAP 建立连接,但是调用 RFC 函数时出错。

这是我的代码

错误是

NoneType 对象不可调用

如果我把它改成

然后错误消失但f始终为空。

我需要从 SAP 的 RFC 中获取一些表,有什么想法可以解决这个问题吗?还有另一种方法吗?也许另一个图书馆?

更新 测试和调试后,我认为fd变量没有正确初始化,因为当我尝试查看fd属性时,python 停止并显示错误

TypeError:“NoneType”对象不可调用

0 投票
2 回答
1834 浏览

python - 无法安装 PyRFC

我想安装 pyrfc 但该软件包似乎不再存在:

我也搜索了站点https://pypi.python.org/simple/,没有成功,没有像pyrfc这样的东西。我试过 pip 但也没有运气。pyrfc 还存在吗?我在做什么有明显的错误吗?谢谢

0 投票
1 回答
826 浏览

python - 带有 Python 的 SAP RFC 服务器,有可能吗?

我有一项服务可以向某些服务器发出 SAP RFC 请求。假设我不能修改这个服务,但需要处理这样的请求并处理它们的数据。所以我想开发自己的服务器来处理 RFC 请求,我更喜欢 Python,但也可以用 C++ 来完成。

我读到应该可以使用 PyRFC https://sap.github.io/PyRFC/server.html#server-server

但是有“网关参数”,我不知道我应该在这里使用什么,在我的概念中我不需要 SAP 网关,我只想在我的独立服务器中处理请求。

是否可以开发自己的独立服务器来使用 Pyhton 或 C++ 处理 RFC 请求?还是只能与 SAP Gateway 一起使用?在这种情况下,我需要在 SAP Gateway 端做什么?

0 投票
1 回答
294 浏览

python - Pyrfc:RFCTable 类型 TBL1024

要将 PDF 二进制文件上传到 SAP,我可以使用 RFC 功能模块。此 FM 需要两个特定参数:

  • IC_ARC_OBJECT= 在 SAP (OAC2) 中定义 mime 类型的文档类
  • IN_CONTENT_LENGHT= IMPORTING 数据类型,是文件的大小
  • IT_CONTENT= IMPORTING 结构TBL1024表,包含文件字节的表,切成大小为 1024 的块
  • ET_MESSAGES= 只是一个BAPIRET2检查错误的表(RETURN 表)

函数模块在 Python 程序中成功执行,但是当我在函数模块上中断以检查内容时,IT_CONTENT我可以看到表格的行没有正确填写:

FM的python程序调用的提取:

python函数的提取Arc.get_arc_content(filename)

SAP 中的参数结果如下:

  • IN_CONTENT_LENGHT= 000000007945 (7.8 kb)
  • IT_CONTENT= 8 x 1 行:(4 行)

LINE1 255044462D312E3300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 LINE2 B89B067867673EAB00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 LINE3 5BF4CB23B9A7513700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 LINE461DB44B3B0AAB12500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 .... LINE8 202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000LINE8 202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000LINE8 202020202020202000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

IT_CONTENT使用 FM 检查的预期结果ARCHIVE_OBJECT_GET应该类似于:

LINE1 255044462D312E330D0A25E2E3CFD30D0A25525354585044463320506172616D65746572733A204452535458680D0A322030206F626A0D0A3C3C0D0A2F46696C7465722033203020520D0A2F4C656E67 LINE2 FA1D555450C8EF41AC263F14BC03C49BDD773CF22BC43FD21B3565DA2DFCCB83D8FFAC7BCBBBEBE6DED0AD68DEA29B349398511824DDDCFFAF41EA7FDADDF67EE61EF3FC303293F7E96351A911F8DE10 LINE3 FB4A559526CD6AED428976E80F8DD0B02517C4178D1EFB73C65792D09CFE5C717883BE38E61ED0AB3ADC0983C103E4338A1B210DA086DA73375E679C0A410F510FDC542BB686A1A4D601DD411A506504 ...

所以问题是只有第一个字节被传输,其余的都是尾随零。

这是否与我做错了什么有关,或者是否可以将二进制文件正确切割成 1024 块并将它们传输到 SAP 的表中。如何在python中使用SAP的字节类型?

非常感谢您的建议/支持。

0 投票
1 回答
925 浏览

c++ - Python 3.6 pyrfc 导入错误

我有 VM win7 x64、Python 3.6,我正在尝试安装 pyrfc SAP 连接器。我已经安装了 NWR​​FC 库,将其设置在 PATH 变量中,使用 easy_install 安装了 egg pyrfc-1.9.5-py3.5,并安装了 Visual c++ redistributable 2015 (x64) 14。但导入总是失败:

在同一台机器上,我也有 Python2.7 - 它使用相同的 NWRFC 库,它可以正常工作。

可能是什么问题?或者我如何跟踪导入以了解缺少哪个其他库?

0 投票
1 回答
1913 浏览

python-2.7 - Python脚本调用ABAP功能模块转储Hana表中的数据?

我需要使用 python 连接到 ABAP 功能模块以从表中提取数据并将其转储到另一个 HANA 表中。如何使用 pyrfc 模块调用 RFC?语法是什么?我在任何论坛都找不到明确的解释。

0 投票
1 回答
515 浏览

python - 使用 Pyrfc 的 SAP R/3 表中的条目数

如何使用Pyrfc Python 库查询 SAP R/3 数据库表中的条目数?