SAP
使用 SAP .NET Connector 3.0 可向SAP输出数据,步骤如下:
- 添加SAP .NET Connector 3.0 dll
- 引用dll
- 调用RFC输出数据
通常都在企业库中封装SAP输出,再在流程中调用企业库API。
- 添加SAP .NET Connector 3.0 dll
- 引用dll
- 调用RFC输出数据
添加SAP .NET Connector引用后,即可调用RFC输出数据。
//SAP.cs
using System;
using System.Collections.Generic;
using System.Text;
using SAP.Middleware.Connector;
using BPM.Server;
namespace MyBPM
{
public class SAP
{
public static void DataToSap(string MCode, string MDesc, string MUint)
{
MyBackendConfig cfg = new MyBackendConfig();
RfcDestination dev = RfcDestinationManager.GetDestination(cfg.GetParameters("DEV"));//SAP系统标识
RfcRepository repo = dev.Repository;
IRfcFunction companyBapi = repo.CreateFunction("ZRFC_CREATE_MATERIAL"); //指定RFC名称
companyBapi.SetValue("matnr", MCode);// "MM01"
companyBapi.SetValue("maktx", MDesc);// "自建物料1"
companyBapi.SetValue("meins", MUint);// "M"
companyBapi.Invoke(dev); //开始调用执行
IRfcStructure Returntable = companyBapi.GetStructure("Return");
if (!Returntable.GetString("type").Equals("S"))
{
throw new Exception("回写失败,错误信息:" + Returntable.GetString("message"));
}
}
}
}
// MyBackendConfig.cs
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Xml;
using System.IO;
using SAP.Middleware.Connector;
namespace MyBPM
{
class MyBackendConfig :IDestinationConfiguration
{
public RfcConfigParameters GetParameters(String destinationName)
{
if ("DEV".Equals(destinationName))
{
RfcConfigParameters parms = new RfcConfigParameters();
parms.Add(RfcConfigParameters.AppServerHost, "demo.smartsoft.com.tw");//SAP主机IP
parms.Add(RfcConfigParameters.SystemNumber, "00");//SAP实例
parms.Add(RfcConfigParameters.SystemID, "dev");
parms.Add(RfcConfigParameters.User, "ddic");//用户名
parms.Add(RfcConfigParameters.Password, "saperpecc6");//密码
parms.Add(RfcConfigParameters.Client, "001");// Client
//parms.Add(RfcConfigParameters.SAPRouter, "/H/202.82.130.200/S/3299/W/rmsap/H/");
//parms.Add(RfcConfigParameters.Language, "EN");//登陆语言
parms.Add(RfcConfigParameters.PoolSize, "5");
return parms;
}
else
return null;
}
public bool ChangeEventsSupported()
{
return false;
}
public event RfcDestinationManager.ConfigurationChangeHandler ConfigurationChanged;
}
}
Created with the Personal Edition of HelpNDoc: News and information about help authoring tools and software