2.创建连接SAP需要的配置类,代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using SAP.Middleware.Connector;
using System.Configuration;
namespace SapInterface
{
public class BackendSAPConfig : IDestinationConfiguration
{
#region 重写接口中的方法,获得SAP相关配置信息
public RfcConfigParameters GetParameters(string destinationName)
{
if (destinationName.Equals("TEST"))
{
RfcConfigParameters parms= new RfcConfigParameters();
parms.Add(RfcConfigParameters.AppServerHost, ConfigurationManager.AppSettings["ServerHost"]); //SAP主机IP
//parms.Add(RfcConfigParameters.SystemID, ConfigurationManager.AppSettings["SystemID"]);//系统ID parms.Add(RfcConfigParameters.SystemNumber, ConfigurationManager.AppSettings["SystemNumber"]);//SAP实例 parms.Add(RfcConfigParameters.User, ConfigurationManager.AppSettings["User"]);//用户名 parms.Add(RfcConfigParameters.Password, ConfigurationManager.AppSettings["Password"]);//密码 parms.Add(RfcConfigParameters.Client, ConfigurationManager.AppSettings["Client"]);// Client parms.Add(RfcConfigParameters.Language, ConfigurationManager.AppSettings["Language"]);//登陆语言 parms.Add(RfcConfigParameters.PoolSize, ConfigurationManager.AppSettings["PoolSize"]);
//parms.Add(RfcConfigParameters.MaxPoolSize, "10");已过时,被PeakConnectionsLimit替代 parms.Add(RfcConfigParameters.PeakConnectionsLimit, ConfigurationManager.AppSettings["PeakConnectionsLimit"]);
//parms.Add(RfcConfigParameters.IdleTimeout, "60"); return parms;
}
else
{
return null;
}
}
#endregion #region 实现接口中的方法
public bool ChangeEventsSupported()
{
return false;
}
public event RfcDestinationManager.ConfigurationChangeHandler ConfigurationChanged;
#endregion
}
}
3.主要一些方法如下
View Code public void nco()
{
IDestinationConfiguration config= new BackendSAPConfig();//实例化SAP接口配置类 RfcDestinationManager.RegisterDestinationConfiguration(config);//注册 RfcDestination prd = RfcDestinationManager.GetDestination(destinationName.ToUpper());//传入参数获得连接配置 nco(prd);
//注意,反注册在NCO 3.0.7.0版本中需要放在nco(prd)后面,而在NCO 3.0.1.0放在nco(prd)前面也行 RfcDestinationManager.UnregisterDestinationConfiguration(config);//反注册
}