问题标签 [sap-dotnet-connector]
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.
sap - 使用直接 Rfc 调用而不是 BAPI 是否有优势?
我对使用 SAP 不是很熟悉,但我目前的任务是利用 Rfc 调用通过我正在处理的 ac# 项目在 SAP 中创建采购订单。
使用直接 Rfc 调用而不是 BAPI 有什么优势吗?我问过我的主管,他的理由是“避免未知/不必要的混乱”。
我们的旧程序使用 BAPI。我发现通过这项任务,我现在正在追赶我的尾巴,因为我深入研究元数据并解决使用/获取我需要的结构的问题。
事情进展顺利,但我只是不明白坚持使用 Rfc 而不是 BAPI。
编辑以澄清我糟糕的术语:我们目前使用一个包装器,然后为我们调用 BAPI。我的任务是不使用包装器,而是使用与 BAPI 相同的 Rfc 调用。
例子:
c# - 如何克服异常“SAP.Middleware.Connector.RfcConfigParameters 的类型初始化程序引发异常 - 错误#:-2146233036”
我们的应用程序通过 DCOM SAP 连接器从 SAP 系统中获取数据。最近我们用 .NET 连接器替换了。部署到生产环境后,它工作了一天。突然它在访问一个 RFC 时给出了指定的错误。异常消息是
“SAP.Middleware.Connector.RfcConfigParameters”的类型初始化程序引发异常 - 错误#:-2146233036。
我们使用的代码为 SAP.Middleware.Connector.RfcConfigParameters 创建对象并使用如下
我们已经追踪到异常信息,下面是异常信息
以下是我们的观察结果
1. 它并不总是抛出问题。问题是间歇性抛出。
2.当我们去服务器机器并在那里运行应用程序时,它没有抛出错误。仅当应用程序从其他客户端机器访问时才会引发错误。
3. 相同的问题在开发、测试和舞台环境中不可重现。仅在生产中就有问题 4. 如果我们重新部署特定的 dll,它将开始工作一天或半天而没有任何错误,第二天开始抛出错误。
我的具体问题是(1)如何克服“SAP.Middleware.Connector.RfcConfigParameters 的类型初始化程序”引发异常 - Error#:-2146233036 的异常?
(2) 我们的主要怀疑领域是内存泄漏。我们可以怀疑任何其他领域吗?
(3)我们非常有限,无法访问生产环境。因此,我们正试图在我们拥有完全访问权限的其他服务器(如开发和测试)中重现该问题。我们正在考虑多用户和多登录场景,以便在其他环境中重现该问题。我们可以考虑任何其他情况吗?
更新
我们设法在我们的一台测试服务器中重现了该问题。并尝试了以下方法来解决问题。并安装了 Visual C++ 2005 Redistributable SP1、.NET connector 3.0 和 VB6.0。问题仍然存在。我们无法找到问题的根本原因。
为了找到问题的根本原因,我还可以检查和执行哪些操作?
根据回复进行编辑:
1. 我们没有使用任何静态变量 2. 我们已经安装了 Visual C++ 2005 Redistributable SP1。但它仍然没有解决问题。
c# - 调用 BAPI_SALESORDER_CREATEFROMDAT1 时出现错误“请输入售给方或运送方”
我正在尝试使用 SAP .NET 连接器将 SAP 与 .NET Web 应用程序集成。
我已成功连接到 SAP 系统,但是当我尝试在 SAP 中使用创建销售订单时出现BAPI_SALESORDER_CREATEFROMDAT1
以下错误:
请输入已售至方或运送至方。
我使用的代码片段:
请建议我在通话中做错了什么。我在以下代码片段中正确传递了合作伙伴详细信息:
谢谢, 纳维德
.net - SAPGUI 解析 GuiUserArea
问题!
目前在我工作的地方,我们正在尝试使用SAPGui、Excel和VBA自动执行某种重复性任务。通常,我们从 SAP 的 TCodes 收集的大多数报告都显示为 GuiUserArea,这并不容易、整洁和快速解析。
解决方案!
无论如何,我设法根据某些类型的要求解析这些报告。因此,我第一次尝试解析任何报告(显示为 GuiUserArea)时,我想到了将报告保存为无格式文本然后使用 VBA(正则表达式、拆分, Text Length, ...) 而不是使用 GuiUserArea 方法和属性。请注意,使用此过程(保存文件)更容易和更快地解析信息,但是使用SAPGUI对象只是为了保存文件而不是完成更复杂的任务作为解析信息有什么意义......
使用 GuiUserArea 我想出了以下解决方案:
上面显示的代码完美运行,除了以下语句:
它几乎可以解析所有类型的GuiUserArea报告,除了具有宽水平窗口的报告。我正在努力解决这些问题,但缺少SAPGUI对象的文档。
对于大量数据来说很慢而且很慢(因为我们正在使用 VBA 到 COM 对象,所以它应该是这样的)。尝试使用.NET和SAPGUI对象但没有成功以加快进程。
但在路的尽头, SAPGUI对象似乎不是为这类任务而设计的。
问题!
- 您还有其他方法可以尝试解析 GuiUserArea 吗?
- 您是否尝试过使用高级编程语言(甚至脚本语言)来与 SAP 系统而不是 VBA 进行交互?
- 您是否知道是否有任何其他方式与 SAP 系统交互而不是SAPGUI对象(您是否尝试过 SAP .NET 连接器?)
c# - SAP .Net 连接器 3 和单点登录
我正在使用 SAP .net 连接器 3.0 连接我的应用程序和 sap,我已经让一切正常,但现在我的公司已切换到单点登录。
我做了一点阅读,到目前为止我发现我必须在目标配置中设置以下参数。
有谁知道我也设置了这些参数?
编辑:看起来我有信息可以解决我的问题,但如果有人想添加关于 2 个参数是什么以及选项是什么的评论,那么请继续。
asp.net - 将 SAP RFC 结构保存到 MSSQL 表?
最近我正在研究一个需要从 SAP 表中获取数据到 MICROSOFT SQL 表的项目,我已经完成了连接部分,并且我还将 SAP 结构值拉入了 ASP.NET。
我的问题是如何将结构保存到 Sql 表中?
这是我的代码;
sap-dotnet-connector - sap .net 连接器 3.0 idoc 处理
我需要使用 SAP .net 连接器 3.0 实现 Idoc 处理
我正在寻找 C# 示例。我没有在 SAP .net 连接器 3.0 库中找到任何帮助:SAP.Middleware.Connector !!!惊人:完全没有关于 IDOC 实施的参考!
SAP .net 连接器 2.0 中使用的旧类(例如 SAPIDocReceiver)似乎已从这个新版本中删除。
我听说应该在 SAP .net 连接器 3.0 中使用的“IDOC_INBOUND_ASYNCHRONOUS”方法(或类?)?
谢谢大家,任何帮助表示赞赏
c# - 获取可用的 BAPI 和/或表
我在 C# 2010 中使用 .Net Sap Net Connector 3.0 开发了一个组件来运行 BAPI 模块并读取 SAP 表数据和模式。
我的问题是:是否有 BAPI(或其他方式)来获得:
- 可用表列表
- 可用 BAPI 列表
提前致谢。
sap-dotnet-connector - 使用 RFC_READ_TABLE 出现异常“动态指定的条件具有意外格式”
我正在使用 .Net Sap 连接器 3 和函数“RFC_READ_TABLE”来读取 PA0001 表数据。
我使用的条件似乎很愚蠢,但这只是为了解释我的问题是这个表达式的长度。
如果我使用:
这行得通。但是如果我使用
我有这个例外:“动态指定的条件具有意外的格式”。
我试图用字符〜打破字符串并将这个字符指定为分隔符
function.SetValue ("DELIMITER", "~")
但问题仍然存在
帮我!
.net - SAP .Net 连接器 3.0 RfC 返回不正确的值
我编写了一个自定义 RFC,它从 BKPF 读取特定数据并返回它。
当我在 SAP Gui 中测试该功能模块时,它运行良好,但是当我通过 .Net 连接器 3.0 驱动程序从 .Net 应用程序中使用它时,我在 BUKRS 中得到了“I”值(带有 3 个空格)而不是“IP01”。
我在连接参数中尝试了几个代码页,但没有任何改变。
它是函数体,如前所述,它从表 BKPF 返回一些行,并且在 SAP Gui 中测试时工作正常,但是当通过 .Net 连接器调用时,BUKRS 的值返回“I”而不是“IP01”
在查看 BKPF 的结构之后,我在 SAP(MANDT、BUKRS、)中找到的结构与我table.Metadata.LineType
在 .Net 中找到的结构似乎有所不同
{STRUCTURE BKPF{BUKRS:CHAR4, MANDT:CHAR3, BELNR:CHAR10, GJAHR:NUM(4), BLART:CHAR2, BLDAT:DATE, BUDAT:DATE, MONAT:NUM(2), CPUDT:DATE, CPUTM:TIME, AEDAT:DATE, UPDDT:DATE, WWERT:DATE, USNAM:CHAR12, TCODE:CHAR20, BVORG:CHAR16, XBLNR:CHAR16, DBBLG:CHAR10, STBLG:CHAR10, STJAH:NUM(4), BKTXT:CHAR25, WAERS:CHAR5, KURSF:BCD[5:5], KZWRS:CHAR5, KZKRS:BCD[5:5], BSTAT:CHAR1, XNETB:CHAR1, FRATH:BCD[7:2], XRUEB:CHAR1, GLVOR:CHAR4, GRPID:CHAR12, DOKID:CHAR40, ARCID:CHAR10, IBLAR:CHAR2, AWTYP:CHAR5, AWKEY:CHAR20, FIKRS:CHAR4, HWAER:CHAR5, HWAE2:CHAR5, HWAE3:CHAR5, KURS2:BCD[5:5], KURS3:BCD[5:5], BASW2:CHAR1, BASW3:CHAR1, UMRD2:CHAR1, UMRD3:CHAR1, XSTOV:CHAR1, STODT:DATE, XMWST:CHAR1, CURT2:CHAR2, CURT3:CHAR2, KUTY2:CHAR4, KUTY3:CHAR4, XSNET:CHAR1, AUSBK:CHAR4, XUSVR:CHAR1, DUEFL:CHAR1, AWSYS:CHAR10, TXKRS:BCD[5:5], LOTKZ:CHAR10, XWVOF:CHAR1, STGRD:CHAR2, PPNAM:CHAR12, BRNCH:CHAR4, NUMPG:NUM(3), ADISC:CHAR1, XREF1_HD:CHAR20, XREF2_HD:CHAR20, XREVERSAL:CHAR1, REINDAT:DATE, RLDNR:CHAR2, LDGRP:CHAR4, PROPMANO:CHAR13, XBLNR_ALT:CHAR26, VATDATE:DATE, XSPLIT:CHAR1, PSOTY:CHAR2, PSOAK:CHAR10, PSOKS:CHAR10, PSOSG:CHAR1, PSOFN:CHAR30, INTFORM:CHAR4, INTDATE:DATE, PSOBT:DATE, PSOZL:CHAR1, PSODT:DATE, PSOTM:TIME, FM_UMART:CHAR1, CCINS:CHAR4, CCNUM:CHAR25, SSBLK:CHAR1, BATCH:CHAR10, SNAME:CHAR12, SAMPLED:CHAR1, EXCLUDE_FLAG:CHAR1, BLIND:CHAR1, OFFSET_STATUS:CHAR2, OFFSET_REFER_DAT:DATE, PENRC:CHAR2, KNUMV:CHAR10}}