C# 调用 SAP RFC 方法
来源:互联网 发布:罗技m280 m330 知乎 编辑:程序博客网 时间:2024/04/29 12:51
添加SAP安装程序的四个dll文件引用:
Interop.SAPBAPIControlLib.dll
Interop.SAPFunctionsOCX.dll
Interop.SAPLogonCtrl.dll
Interop.SAPTableFactoryCtrl.dll
调用方法体:
private void GetMateriel()
{
string number = this.txtNumber.Text.Trim();
string desc = this.txtDesc.Text.Trim();
Config config = new Config();
SAPLogonCtrl.SAPLogonControlClass login = new SAPLogonCtrl.SAPLogonControlClass();
login.ApplicationServer = config.Server;
login.Client = config.Client;
login.Language = config.Language;
login.User = config.User;
login.Password = config.Password;
login.SystemNumber = config.Number;
SAPLogonCtrl.Connection conn = (SAPLogonCtrl.Connection)login.NewConnection();
DataSet ds = new DataSet();
DataTable table = new DataTable();
table.Columns.Add("Number", typeof(string));
table.Columns.Add("Desc1", typeof(string));
table.Columns.Add("Desc2", typeof(string));
table.Columns.Add("Desc3", typeof(string));
table.Columns.Add("Uint", typeof(string));
if (conn.Logon(0, true))
{
SAPFunctionsOCX.SAPFunctionsClass func = new SAPFunctionsOCX.SAPFunctionsClass();
func.Connection = conn;
SAPFunctionsOCX.IFunction ifunc = (SAPFunctionsOCX.IFunction)func.Add("Z_MATERIAL_APPLICATION"); //(Z_MATERIAL_APPLICATION) SAP RFC 名称
SAPFunctionsOCX.IParameter gclient = (SAPFunctionsOCX.IParameter)ifunc.get_Exports("I_WERKS"); //(I_WERKS)输入参数
gclient.Value = Factory; //(Factory)对参数赋值
SAPFunctionsOCX.IParameter matnr = (SAPFunctionsOCX.IParameter)ifunc.get_Exports("I_MATNR");
matnr.Value = number;
SAPFunctionsOCX.IParameter maktx = (SAPFunctionsOCX.IParameter)ifunc.get_Exports("I_MAKTX");
maktx.Value = desc;
ifunc.Call();
SAPTableFactoryCtrl.Tables tables = (SAPTableFactoryCtrl.Tables)ifunc.Tables;
SAPTableFactoryCtrl.Table ENQ = (SAPTableFactoryCtrl.Table)tables.get_Item("PO_TAB"); (PO_TAB)输出表名
for (int i = 1; i <= ENQ.RowCount; i++)
{
DataRow dr = table.NewRow();
dr[0] = ENQ.get_Cell(i, "MATNR");
dr[1] = ENQ.get_Cell(i, "MAKTX");
dr[2] = ENQ.get_Cell(i, "MAKTX2");
dr[3] = ENQ.get_Cell(i, "MAKTX3");
dr[4] = ENQ.get_Cell(i, "MEINS");
table.Rows.Add(dr);
}
ds.Tables.Add(table);
}
conn.Logoff();
this.Repeater1.DataSource = ds.Tables[0];
this.DataBind();
this.lblCount.Text = "共找到" + ds.Tables[0].Rows.Count.ToString() + "條記錄";
ScriptManager.RegisterStartupScript(btnSAP, this.GetType(), "", "$(document).ready( function (){ jQuery.page('page',10);} )", true);
}
- C# 调用 SAP RFC 方法
- C# 调用 SAP RFC 方法
- C#调用sap rfc 接口
- 实现C#调用SAP RFC全过程
- C# 连接SAP,并调用RFC函数
- SAP接口编程-RFC系列11:C#语言调用RFC
- .NET 调用 SAP RFC 乱码问题解决方法!
- RFC调用sap接口
- VBA调用SAP RFC
- java后台调用 SAP RFC 第二种方法
- VB调用SAP的RFC
- PB调用SAP RFC函数
- VS.NET调用SAP RFC
- java调用SAP RFC函数
- 使用VBA调用SAP RFC
- Java 调用SAP RFC函数
- java调用SAP RFC函数
- spring boot调用SAP RFC
- 交换两个变量的值不使用第三个变量
- ASP.NET 实现多版本語言
- Shell小程序——打印九九表
- 新成立网站运营的几个关键点
- request.getSession(false)与request.getSession(true)区别
- C# 调用 SAP RFC 方法
- Usage of typedef and define
- linux下,设置IP地址,重启机器有效
- jquery ajax跨域解决方案(json方式)
- js了解
- 长连接与短连接
- XML序列化(对象 XML)
- 浅谈CMS标签设计思路
- DB2 shcema 权限问题