我已经能够通过使用VBA将RFC调用到Excel工作簿来从SAP获取数据。 但是现在我喜欢在带有c#的Excel AddIn(VSTO)中做同样的事情。 关于此,几乎没有任何信息。 microsoft.data.sapclient实际上不起作用: https://msdn.microsoft.com/en-us/library/cc185499(v=bts.10).aspx
我首先认识到必须更改RFC Exec命令(令牌预期:执行函数..)。所以我想知道这个文档是旧的还是其他的改变了? (这里也在这个问题中解释:C# SapDataReader cmd.ExecuteReader() Error)
在此更改之后,我执行了一个更新表的简单RFC - 没有导入/导出参数,没有表 即使只是执行这个简单的RFC结束于"没有可用于给定查询命令的结果"
那里有人解决了这个问题吗?任何人都有适当的工作榜样吗?
我的代码目前是自定义任务窗格上的按钮:
using System;
using System.Collections.Generic;
//using System.ComponentModel;
//using System.Drawing;
//using System.Data;
//using System.Linq;
using System.Text;
//using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Data.SapClient;
namespace SupplierEvaluation
{
public partial class CTP_Uster_SupplierEvaluation : UserControl
{
public CTP_Uster_SupplierEvaluation()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string connstr = "ASHOST=Hostname; SYSNR=sysnr; CLIENT=client; LANG=EN; USER=username; PASSWD=password;";
using (SapConnection conn = new SapConnection(connstr))
{
conn.Open();
using (SapCommand cmd = (SapCommand)conn.CreateCommand())
{
cmd.CommandText = "EXECUTE Function ZTEST_RHE ";
using (SapDataReader dr = (SapDataReader)cmd.ExecuteReader())
{
}
conn.Close();
}
}
}
}