通过RFC(C#)连接SAP系统
具备条件
1.vs2010
2.sap公司发布的nco3
3.sap的服务器端口密码
4.sap的可远程操作的调用函数
操作步骤:
1.
打开vs2010,新建空网站,新建窗体,一定记住引用;
引用方法不要去找com组件,根本找不到,要通过浏览的方式。
2.
在cs后台文件下引用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Drawing;
using System.Text;
using SAP.Middleware.Connector;
3.
cs代码
publicpartial class _Default : System.Web.UI.Page
{
protectedvoid Page_Load(object sender,EventArgs e)
{
RfcConfigParameters rfcPar = new RfcConfigParameters();
rfcPar.Add(RfcConfigParameters.Name,"DDD");
rfcPar.Add(RfcConfigParameters.AppServerHost,"188.88.88.88");
rfcPar.Add(RfcConfigParameters.Client,"900");
rfcPar.Add(RfcConfigParameters.User,"MM222");
rfcPar.Add(RfcConfigParameters.Password,"777777");
rfcPar.Add(RfcConfigParameters.SystemNumber,"00");
rfcPar.Add(RfcConfigParameters.Language,"EN");
RfcDestination dest = RfcDestinationManager.GetDestination(rfcPar);
RfcRepository rfcrep = dest.Repository;
IRfcFunction myfun = null;
myfun = rfcrep.CreateFunction("ZTEST_SIMPLE");
myfun.SetValue("CARRID","AA");//SAP里传入参数
myfun.SetValue("CURRENCY","USD");//SAP里传入参数
myfun.Invoke(dest);
string ERMSG = myfun.GetValue("PRICE").ToString();
this.Label1.Text = ERMSG;//设置一个label控件
dest =null;
rfcrep = null;
}
}