标签: saprfc

为什么在java中调用RFC_READ_TABLE到CDPOS时得到DATA_BUFFER_EXCEED

我的java/groovy程序中的要求是这样的:允许用户输入表名和表字段作为查询输入参数,并期望从SAP获得一些查询结果.从用户输入,我得到表名[CDPOS]和[CDHDR].在阅读了SAP文档和谷歌搜索后,我发现这些是存储更改文档日志的表.但是我没有找到任何可以在java中用来执行这种查询的远程调用函数.然后我使用了已弃用的RFC"RFC_READ_TABLE",并尝试仅根据此RFC构建自定义查询.但是,我发现如果我传递给这个RFC的所需字段的数量超过2,即使我限制了最大行,我总是得到DATA_BUFFER_EXCEED错误.

我无权成为sap系统中的ABAP开发人员,无法将FM添加到现有系统,因此我只能编写代码来完成JAVA中的此要求.

难道我做错了什么?你能否就这个问题给我一些提示?

提前谢谢了!

sap abap jco saprfc

9
推荐指数
1
解决办法
1万
查看次数

SAP RFC:大数据的分块

有没有办法用SAP-RFC将大结果"分块"成几个较小的部分?

根据这些链接,你似乎需要自己实现分块:-(

我想避免这种情况,我希望有一种方法可以让SAP-RFC库进行分块.

使用案例:

结果是100k行.我想获取1k行,直到收到所有行.

我想它并不重要,但我会使用PyRFC代码.

python sap saprfc

9
推荐指数
1
解决办法
372
查看次数

通过RFC连接时列出允许的方法?

我可以通过SAP-RFC将用户名为"foo"的密码"bar"从我的机器连接到SAP服务器.是否可以通过SAP-RFC进行内省?nI想知道允许用户"foo"执行哪些方法.我正在使用PyRFC,但AFAIK这对于这个问题无关紧要.

根据用户Suncatcher的说法,它不是开箱即用的.

到目前为止,我的SAP知识有限.但是不可能像这个伪代码一样循环吗?(此代码应在SAP内部运行(作为ABAP),并可通过RFC公开)

user = 'foo'
allowed_methods = [] # empty list
for func in get_all_functions_which_are_exported_via_rfc():
    if not check_if_user_has_permission_to_call_rfc_function(func, user):
        # not allowed
        continue
    # user is allowed
    allowed_methods.append(func)
return allowed_methods
Run Code Online (Sandbox Code Playgroud)

sap saprfc pyrfc

7
推荐指数
1
解决办法
136
查看次数

用于SAP R/3 RFC的ERPConnect - 它有什么用?

我们正在考虑是否应该建议使用Theobald Software的 ERPConnector工具来为我们的.NET代码提供与SAP RFC交流的方式.有没有人有这些经验一起使用?

.net sap erp saprfc sap-r3

5
推荐指数
1
解决办法
1304
查看次数

如何使用 sapnwrfc 库连接到 SAP?

我们的软件是用 C# 编写的,需要连接到 SAP。由于我们的一些客户使用旧版本的 SAP,而其他客户没有 SAP PI,因此我们无法通过 Web 服务进行连接。

我尝试通过 SAP NetWeaver 远程函数调用库 (sapnwrfc.dll) 连接到 SAP,如下所示:

  • 将 sapnwrfc.dll 和 NWRFC_6-20004550.SAR 中的其他 dll(即 icudt34.dll、icuin34.dll、icuuc34.dll、libicudecnumber.dll 和 libsapucum.dll)添加到 C:\WINDOWS\system32,以确保它们可以被找寻到。
  • 在我的 C# 代码中,在类定义中添加以下内容:
        [DllImport("sapnwrfc.dll", CharSet = CharSet.Auto)]
        public static extern void RfcInit();
    以及应该完成工作的方法中的以下内容:
        RfcInit();

运行此代码会出现 DllNotFoundException:
Unable to load DLL 'sapnwrfc.dll': This application has failed to start because the application configuration is不正确。重新安装应用程序可能会解决此问题。(来自 HRESULT 的异常:0x800736B1)

运行标准的 connect-to-C++-from-C# 示例
    [DllImport("user32.dll", CharSet = CharSet.Unicode)]
    public static extern int MessageBox(IntPtr hWnd, String text, String caption, uint type);
    MessageBox(new …

c# sap dllnotfoundexception saprfc

5
推荐指数
1
解决办法
8743
查看次数

SAP:如何从远程系统测试RFC

我正在调试一个解决方案,其中一个SAP系统中的程序通过RFC连接A调用另一个SAP系统()中的启用远程的功能模块B.

有没有办法"测试运行"RFC A,就像我们通常使用SE37一样用于本地功能模块?远程功能模块不存在A,因此SE37仅提供功能模块不存在的错误消息.

我可以B使用SE37 运行功能模块,但我需要通过RFC连接进行测试.

sap abap saprfc

5
推荐指数
1
解决办法
2820
查看次数

标准的深度嵌套数据类型?

我拿了一个很好的例子clientPrintDescription.py并从描述中创建了一个 HTML 表单,该表单与特定 RFC 函数的输入数据类型相匹配。

在 SAP 中,数据类型可以包含可以包含数据类型的数据类型,我想使用嵌套数据类型来测试我的 HTML 表单生成器。

当然,我可以创建自己的自定义数据类型,但如果我使用现有的(支持 rfc 的)数据类型,它的可重用性会更高。

SAP 中哪种数据类型包含大量嵌套数据类型?也许有很多不同的数据类型?

abap saprfc pyrfc

5
推荐指数
2
解决办法
425
查看次数

SAP RFC SDK的未来

SAP RFC SDK(wdtfuncs.ocx,wdtlog.ocx分别为Interop.SAPFunctionsOCX.dll,Interop.SAPLogonCtrl.dll)是否可以通过RFC与SAP连接(Microsoft)应用程序?将来是否会支持和维护SDK(特别是在ECC 6.0中)?是否有人在.NET应用程序中使用这些控件?

.net sap sdk saprfc

3
推荐指数
1
解决办法
2319
查看次数

以其他用户身份调试

我已经编写了一个ABAP功能模块,如果使用我的开发人员帐户执行该模块,该模块可以正常工作。

如果另一个用户执行它,他将得到一个空结果。另一个用户是无法使用SAP GUI登录的RFC帐户。

我不知道如何调试它。如何执行/调试功能模块并假装为其他用户?

我正在使用Windows本地SAP GUI和事务代码SE80

sap abap saprfc

3
推荐指数
1
解决办法
283
查看次数

RFC错误“容器元数据...的元素BAPIRETURN1未知”

在使用SAP .NET连接器的C#程序中,我想调用RFC函数“ BAPI_GET_PAYROLL_RESULT_LIST”并读取结果。

我用看了函数SE37。在那里,我发现导出参数应为BAPIRETURN1,这是一个结构。

因此,我搜索了RFC调用的示例代码,并针对我的情况对其进行了修改。

我已经尝试读取该表BAPI7004_RL,因为该表位于信息中,SE37并且我不知道是否必须使用export参数或该表。

这是我的代码:

string appServerHost = ConfigurationManager.AppSettings["AppServerHost"];
string name = ConfigurationManager.AppSettings["Name"];
string systemnumber = ConfigurationManager.AppSettings["SystemNumber"];
string user = ConfigurationManager.AppSettings["User"];
string pw = ConfigurationManager.AppSettings["Password"];
string client = ConfigurationManager.AppSettings["Client"];
string language = ConfigurationManager.AppSettings["Language"];

RfcConfigParameters parms = new RfcConfigParameters
{
    { RfcConfigParameters.AppServerHost, appServerHost },
    { RfcConfigParameters.Name, name },
    { RfcConfigParameters.SystemNumber, systemnumber },
    { RfcConfigParameters.User, user },
    { RfcConfigParameters.Password, pw },
    { RfcConfigParameters.Client, client },
    { RfcConfigParameters.Language, language }
};

RfcDestination dest …
Run Code Online (Sandbox Code Playgroud)

c# sap abap sap-connector saprfc

3
推荐指数
1
解决办法
253
查看次数

标签 统计

saprfc ×10

sap ×9

abap ×5

.net ×2

c# ×2

pyrfc ×2

dllnotfoundexception ×1

erp ×1

jco ×1

python ×1

sap-connector ×1

sap-r3 ×1

sdk ×1