问题标签 [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 投票
1 回答
361 浏览

python - 如何使用 Pyrfc 获取工单数据?

我正在使用 pyrfc 连接到 SAP。我需要下载工作订单数据和销售订单数据。我一直在使用 'RFC_READ_TABLE' 功能,但我似乎无法得到我需要的东西。有人能指出我在这个过程中可以指导我的资源吗?

我有使用 BAPI 函数的想法,但是我无法为我需要的数据找到合适的函数。

谢谢!

0 投票
2 回答
1140 浏览

python - 如何在 pyrfc 中使用 BAPI_USER_CHANGE 更新电子邮件?

我能够编写代码通过 BAPI_USER_GET_DETAIL 从 SAP 获取详细信息,这里附有从 SAP 后端获取电子邮件的代码:

预期结果:abc@xyz.com

我需要在 SAP 中更新特定用户的电子邮件地址,经过研究发现通过使用BAPI_USER_CHANGE我们可以更新新的邮件地址,但尝试了很多次都没有运气!

BAPI_USER_CHANGE任何人都可以帮助获得在 Python中运行的正确语法吗?

0 投票
0 回答
325 浏览

python - ModuleNotFoundError:没有名为“__main__.pyrfc”的模块;'__main__' 不是一个包

我已经安装了

我的输出是这样的。

收集 pyrfc 下载 pyrfc-0.1.2.tar.gz (3.5 kB) 安装收集的包: pyrfc Running setup.py install for pyrfc ... done 成功安装 pyrfc-0.1.2

但是在导入时我看到了这个问题,

回溯(最后一次调用):文件“”,第 1 行,从 .pyrfc 导入 * ModuleNotFoundError:没有名为“ main .pyrfc”的模块;' main ' 不是一个包

0 投票
1 回答
375 浏览

python - 使用 pyRFC 的 SAP BW 数据提取因命令文本的字符限制而失败

环境:Windows 编程语言:Python 包:pyRFC SAP:SAP RFC SDK

通过对象 bwConn 连接到 BW 后,我尝试调用以下方法 BAPI_MDDATASET_CREATE_OBJECT

由于 COMMAND_TEXT 有 75 个字符的限制 - 我如何定义 QUERY?

目前 QUERY 被定义为

0 投票
1 回答
680 浏览

sql - 使用 PyRFC 直接运行 SQL 查询

我是 python 新手。我想从 SAP 系统中提取数据。我使用以下代码创建了与 SAP 系统的连接,并尝试使用 sql 查询提取数据。

从 table_name 中选择 col1、col2、col3,其中 col1= 2019

是否有任何直接的方式来编写 sql 查询(我们如何在 oracle/sql 中编写)。上面的代码以 dict 形式提供数据并且运行速度非常慢。

0 投票
1 回答
164 浏览

python - 使用 PyRFC 提取 RAW 数据类型列的问题

使用 PyRFC 从 SAP 提取数据时,我遇到了处理 RAW 数据类型列的问题。

下面是元数据的屏幕截图以及数据在 SAP GUI 中的外观。

在此处输入图像描述

在此处输入图像描述

下面是我正在运行以提取此列的代码片段。

我收到以下回复print dataObj

当我尝试将其转换为 str 时,出现以下错误。

有人可以帮助我了解如何正确将此数据转换为可读格式,就像它在 SAP GUI 中显示的那样。

感谢您的时间和响应。

谢谢,

0 投票
1 回答
295 浏览

abap - 每个 RFC 调用的唯一 ID

我在外部调用一些 RFC 模块,该模块调用其他模块并在调用堆栈中计算一些值并将其保存到内存中,然后最后读取该值并返回给外部调用者。每次计算可能不同,因此我们需要相应地读取内存区域。

目前案件的并发症是:

  1. 模块总是从同一个系统调用,所以调用者总是相同的
  2. 调用FM的用户是相同的,所以用户也总是相同的
  3. 连接将被重用,就像这里描述的一样,所以 ABAP 内存也将是相同的

这个想法是使用仅对当前调用唯一的 ID 写入内存,而不是之前的调用,即内存中的值将始终相关。

让我用我创建的这个简单的 FM 来说明这个案例。只有在当前调用中设置了该值,模块才会返回该值,即只有相关的值。

我从外部循环测试了 20 次,得到:

因此,内存按预期重用,所有进一步的运行可能会消耗错误的值。

我在这里看到的可能解决方案:

  1. 设置JCo客户端每次关闭RFC连接,这样每次都会创建新的ABAP内存区域
  2. 在当前调用中传递的 FM 参数上使用 MD5 哈希在每次运行中创建唯一 ID

是否有唯一标识 RFC 调用的标准方法?也许某个SY领域?

PS在这个评论这里他们说(很明显)每次通话后关闭连接会比平时慢,所以这是不可取的。

0 投票
0 回答
78 浏览

python - Pyrfc 连接返回无

我已经尝试使用下面的代码连接到 sap 系统。但是它抛出了一个错误,抱怨 nonetype 不能用于调用。

调试后我发现该conn值为None. 你知道如何解决这个问题吗?

PS:几天前相同的连接工作。不知道为什么这现在不起作用。

0 投票
0 回答
780 浏览

python - 您可以像使用 SBOP Analysis for Excel 一样使用 Python 连接到 SAP Query 吗?

因此,目前我使用 MS Excel 从 SAP 查询中探索和提取一些数据,我可以使用 Excel 中的 SBOP 分析工具访问这些数据。

现在我需要自动化这个过程,我所做的是每天使用宏连接和刷新数据,这对现在来说很好,但很容易出错,即。有时宏会失败,我需要手动刷新它。

我想做的可能是使用 Python 连接到这个 SAP 查询(它是一个具有维度和度量的多维数据集),就像我使用 SBOP 分析一样。这甚至可能吗?

我发现使用PyRFC库可能是一个解决方案,但我认为它不适用于我需要的数据源类型,或者我可能没有找到一个很好的例子。

谢谢,

0 投票
2 回答
473 浏览

python - Optimization of code written using python and BAPI

I have a python code here which goes into SAP using BAPI RFC_READ_TABLE, queries USR02 table and bring back the results. The input is taken from an excel sheet A column and the output is pasted in B column The code is running all fine. However, for 1000 records, it is taking 8 minutes approximately to run. Can you please help in optimizing the code? I am really new at python, managed to write this heavy code but now stuck at the optimization part.

It would be really great if this can run in 1-2 minutes max.

EDIT : So here is my updated code. For now, I have decided to output the data on command line only. Output shows where is the time taken.

enter image description here