您可以将 Visual Studio 2017 与 SAP .NET Connector 3.0 一起使用吗?
Can you use Visual Studio 2017 with the SAP .NET Connector 3.0?
我目前正在 Visual Studio 2017 和 VirtualBox 上 Linux(openSUSE) 上托管的 SAP 服务器之间建立 RFC 连接。我发现的有关此问题的唯一帖子非常陈旧且没有帮助。我想在 C# 中创建一个 returns 图表中数据库数据的 RFC 函数,但我不知道如何从代码开始以及如何设置我的 visual studio 和树液服务器。我希望有人能帮我解决这些问题。
如果您不知道如何开始,那为什么不先看看 NCo 文档呢?
您可以从 https://support.sap.com/nco.
下载
既然你的环境好像不只限于Windows,我也想一想.NET环境是不是你项目的最佳选择?如果使用其他连接器,您将获得更好的 OS 可移植性选项。
您可以在 https://support.sap.com/connectors.
找到适用于其他环境和编程语言的 SAP 连接器
在您中声明以下 SAP 详细信息 web.config / app.config
<add key="DestinationName" value="*ANYNAME*" />
<add key="AppServer" value="****" />
<add key="SystemNumber" value="**" />
<add key="SystemID" value="**" />
<add key="UserName" value="***" />
<add key="Password" value="***" />
<add key="Client" value="***" />
<add key="Language" value="EN" />
从 SAP 站点下载适当的连接器 dll(sapnco.dll 和 sapnco_utils)并在您的应用程序中引用它们。
其余内容请参考下面的示例代码
RfcConfigParameters para = new RfcConfigParameters();
para.Add(RfcConfigParameters.Name, destinationname);
para.Add(RfcConfigParameters.AppServerHost, appServer); // If they are using SAP Router then please refer SAP documentation on Public and PrivateIP address details as you need both
para.Add(RfcConfigParameters.SystemNumber, systemNumber);
para.Add(RfcConfigParameters.SystemID, systemID);
para.Add(RfcConfigParameters.User, user);// "RFCUSER");
para.Add(RfcConfigParameters.Password, password);
para.Add(RfcConfigParameters.Client, client);
para.Add(RfcConfigParameters.Language, language);// "EN");
RfcDestination dest = RfcDestinationManager.GetDestination(para);
// Test connection
dest.Ping();
RfcSessionManager.BeginContext(dest);
var rfcFunction = dest.Repository.CreateFunction("RFCFunctionName");
rfcFunction.SetValue("INPUT PARAMETER NAME", "Value");
// Call the function
rfcFunction.Invoke(dest);
有关详细信息,请参阅以下文档:https://support.sap.com/content/dam/support/en_us/library/ssp/products/connectors/msnet/dotnet_connector_30_programming_guide.pdf
Can you use Visual Studio 2017 with the SAP .NET Connector 3.0?
标题中高级问题的直接答案是可以。我自己目前正在使用 Visual Studio 2017 开发基于当前 NCo 3 的 Web 服务。
I'm currently working on a RFC connection between Visual Studio 2017
and a SAP Server hosted on Linux(openSUSE) on a VirtualBox.
这有点令人困惑 - 您真的打算将 VS 本身连接到 SAP,还是您宁愿使用 VS 编写一个应用程序,该应用程序将连接到 SAP?
.NCo 与 SAP 的托管环境无关。我用它连接到基于 Linux 的 SAP,基于 Windows 的 SAP,这没有区别。
I want to create a RFC Function in C# that returns the data of the
database in a chart
RFC 是对 SAP 的 FM 功能模块的远程功能调用。 SAP FM 仅使用 ABAP 语言进行编程。 BUT .NCo 允许在 .Net 代码(例如 C#)之前实现一个 RFC 服务器接口,这样您就可以从 SAP 作为 RFC 调用 C# 代码 运行在作为您的应用程序的 RFC 服务器中。在 .NCo public 文档中有一个例子。
您要读取哪个数据库? SAP的?您不应该直接从外部代码读取 SAP 数据库,而是应该在 SAP 系统上使用 ABAP 编写的 RFC 运行 来访问数据。虽然有一个 RFC 可以读取原始 table,但 SAP 不赞成使用它,因为它 by-passes 从安全到 object 模型的所有内容。 SAP 管理员有时会在他们的系统上禁止来自 运行 的 RFC。相反,您应该使用 ALE 中的常规 RFC、BAPI 或 IDOC 来访问 SAP 数据。
更简单地说,.NCo 允许从 .Net 代码调用 SAP 以执行 RFC。这是熟悉 NCo 库的基本场景。
我目前正在 Visual Studio 2017 和 VirtualBox 上 Linux(openSUSE) 上托管的 SAP 服务器之间建立 RFC 连接。我发现的有关此问题的唯一帖子非常陈旧且没有帮助。我想在 C# 中创建一个 returns 图表中数据库数据的 RFC 函数,但我不知道如何从代码开始以及如何设置我的 visual studio 和树液服务器。我希望有人能帮我解决这些问题。
如果您不知道如何开始,那为什么不先看看 NCo 文档呢? 您可以从 https://support.sap.com/nco.
下载既然你的环境好像不只限于Windows,我也想一想.NET环境是不是你项目的最佳选择?如果使用其他连接器,您将获得更好的 OS 可移植性选项。 您可以在 https://support.sap.com/connectors.
找到适用于其他环境和编程语言的 SAP 连接器在您中声明以下 SAP 详细信息 web.config / app.config
<add key="DestinationName" value="*ANYNAME*" />
<add key="AppServer" value="****" />
<add key="SystemNumber" value="**" />
<add key="SystemID" value="**" />
<add key="UserName" value="***" />
<add key="Password" value="***" />
<add key="Client" value="***" />
<add key="Language" value="EN" />
从 SAP 站点下载适当的连接器 dll(sapnco.dll 和 sapnco_utils)并在您的应用程序中引用它们。 其余内容请参考下面的示例代码
RfcConfigParameters para = new RfcConfigParameters();
para.Add(RfcConfigParameters.Name, destinationname);
para.Add(RfcConfigParameters.AppServerHost, appServer); // If they are using SAP Router then please refer SAP documentation on Public and PrivateIP address details as you need both
para.Add(RfcConfigParameters.SystemNumber, systemNumber);
para.Add(RfcConfigParameters.SystemID, systemID);
para.Add(RfcConfigParameters.User, user);// "RFCUSER");
para.Add(RfcConfigParameters.Password, password);
para.Add(RfcConfigParameters.Client, client);
para.Add(RfcConfigParameters.Language, language);// "EN");
RfcDestination dest = RfcDestinationManager.GetDestination(para);
// Test connection
dest.Ping();
RfcSessionManager.BeginContext(dest);
var rfcFunction = dest.Repository.CreateFunction("RFCFunctionName");
rfcFunction.SetValue("INPUT PARAMETER NAME", "Value");
// Call the function
rfcFunction.Invoke(dest);
有关详细信息,请参阅以下文档:https://support.sap.com/content/dam/support/en_us/library/ssp/products/connectors/msnet/dotnet_connector_30_programming_guide.pdf
Can you use Visual Studio 2017 with the SAP .NET Connector 3.0?
标题中高级问题的直接答案是可以。我自己目前正在使用 Visual Studio 2017 开发基于当前 NCo 3 的 Web 服务。
I'm currently working on a RFC connection between Visual Studio 2017 and a SAP Server hosted on Linux(openSUSE) on a VirtualBox.
这有点令人困惑 - 您真的打算将 VS 本身连接到 SAP,还是您宁愿使用 VS 编写一个应用程序,该应用程序将连接到 SAP? .NCo 与 SAP 的托管环境无关。我用它连接到基于 Linux 的 SAP,基于 Windows 的 SAP,这没有区别。
I want to create a RFC Function in C# that returns the data of the database in a chart
RFC 是对 SAP 的 FM 功能模块的远程功能调用。 SAP FM 仅使用 ABAP 语言进行编程。 BUT .NCo 允许在 .Net 代码(例如 C#)之前实现一个 RFC 服务器接口,这样您就可以从 SAP 作为 RFC 调用 C# 代码 运行在作为您的应用程序的 RFC 服务器中。在 .NCo public 文档中有一个例子。
您要读取哪个数据库? SAP的?您不应该直接从外部代码读取 SAP 数据库,而是应该在 SAP 系统上使用 ABAP 编写的 RFC 运行 来访问数据。虽然有一个 RFC 可以读取原始 table,但 SAP 不赞成使用它,因为它 by-passes 从安全到 object 模型的所有内容。 SAP 管理员有时会在他们的系统上禁止来自 运行 的 RFC。相反,您应该使用 ALE 中的常规 RFC、BAPI 或 IDOC 来访问 SAP 数据。
更简单地说,.NCo 允许从 .Net 代码调用 SAP 以执行 RFC。这是熟悉 NCo 库的基本场景。