另一篇:C# 连接SAP,并调用RFC函数 (基于Com组件)
2009-12-10 08:43
639 查看
1) 新建工程后,首先添加3个Com组建的引用,分别为 SAPFunctionsOCX,SAPLogonCtrl,SAPTableFactoryCtrl;
2) 项目添加引用
using SAPFunctionsOCX;
using SAPLogonCtrl;
using SAPTableFactoryCtrl;
3) 连接并调用RFC
SAPLogonControlClass connctl = new SAPLogonControlClass();
//下面的参数值根据实际情况赋值
connctl.Client = "200";
connctl.Language = "EN";
connctl.ApplicationServer = "xxx.xxx.xxx.xxx";//Application server IP
connctl.SystemNumber = 00;
connctl.User = "XXXX";
connctl.Password = "XXXXXXX";
Connection conn = (Connection)connctl.NewConnection();
//登陆
if (conn.Logon(null,true))
{
MessageBox.Show("Successful");
}
SAPFunctionsClass functions = new SAPFunctionsClass();
functions.Connection = conn;
//这里就可以传入Function Name
Function fucntion = (Function)functions.Add("RFC_READ_TABLE");。
//这里是传入值参数
Parameter parameter1 = (Parameter)fucntion.get_Exports("QUERY_TABLE");
parameter1.Value = "VEKP";
Parameter parameter2 = (Parameter)fucntion.get_Exports("DELIMITER");
parameter2.Value = ";";
//这里是传入表的参数,这里有两个表OPTIONS和FIELDS
Tables Tables1 = (Tables)fucntion.Tables;
Table table0 = (Table)Tables1.get_Item("OPTIONS");
table0.AppendGridData(1, 1, 1, "EXIDV = '00000000001000000022'");
Table talble1 = (Table)Tables1.get_Item("FIELDS");
talble1.AppendGridData(1, 1, 1, "VENUM");
talble1.AppendGridData(2, 1, 1, "VPOBJKEY");
talble1.AppendGridData(3, 1, 1, "VSTEL");
//调用函数,并读取数据
if (fucntion.Call())
{
Tables1 = (Tables)fucntion.Tables;
Table talbe2 = (Table)Tables1.get_Item("DATA");
MessageBox.Show(talbe2.get_Cell(1, 1).ToString());
}
//退出登陆
conn.Logoff();
2) 项目添加引用
using SAPFunctionsOCX;
using SAPLogonCtrl;
using SAPTableFactoryCtrl;
3) 连接并调用RFC
SAPLogonControlClass connctl = new SAPLogonControlClass();
//下面的参数值根据实际情况赋值
connctl.Client = "200";
connctl.Language = "EN";
connctl.ApplicationServer = "xxx.xxx.xxx.xxx";//Application server IP
connctl.SystemNumber = 00;
connctl.User = "XXXX";
connctl.Password = "XXXXXXX";
Connection conn = (Connection)connctl.NewConnection();
//登陆
if (conn.Logon(null,true))
{
MessageBox.Show("Successful");
}
SAPFunctionsClass functions = new SAPFunctionsClass();
functions.Connection = conn;
//这里就可以传入Function Name
Function fucntion = (Function)functions.Add("RFC_READ_TABLE");。
//这里是传入值参数
Parameter parameter1 = (Parameter)fucntion.get_Exports("QUERY_TABLE");
parameter1.Value = "VEKP";
Parameter parameter2 = (Parameter)fucntion.get_Exports("DELIMITER");
parameter2.Value = ";";
//这里是传入表的参数,这里有两个表OPTIONS和FIELDS
Tables Tables1 = (Tables)fucntion.Tables;
Table table0 = (Table)Tables1.get_Item("OPTIONS");
table0.AppendGridData(1, 1, 1, "EXIDV = '00000000001000000022'");
Table talble1 = (Table)Tables1.get_Item("FIELDS");
talble1.AppendGridData(1, 1, 1, "VENUM");
talble1.AppendGridData(2, 1, 1, "VPOBJKEY");
talble1.AppendGridData(3, 1, 1, "VSTEL");
//调用函数,并读取数据
if (fucntion.Call())
{
Tables1 = (Tables)fucntion.Tables;
Table talbe2 = (Table)Tables1.get_Item("DATA");
MessageBox.Show(talbe2.get_Cell(1, 1).ToString());
}
//退出登陆
conn.Logoff();
相关文章推荐
- 另一篇:C# 连接SAP,并调用RFC函数 (基于Com组件)
- C# 连接SAP,并调用RFC函数
- JAVA用JCO连接SAP,实现调用SAP的RFC函数(整理)(附一篇看起来比较全面的说明)
- 使用C#调用PI-SDK进行基于PI的开发——使用PI-SDK建立与PI数据库的连接(转载)
- vs08调用COM组件连接SAP
- .NET连接SAP系统专题:C#调用BAPI给账户赋予权限(八)
- .NET连接SAP系统专题:C#调用RFC中文乱码解决办法(十二)
- C# 实现调用 SAP Com组件 与 SAP数据的乱码问题
- K2 BPM项目 基于COM组件调用SAP RFC 问题
- java连接sap系统调并调用用rfc函数
- .NET连接SAP系统专题:C#(NCO3)调用BAPI的一些说明(六)
- JAVA_用_JCO连接_SAP,实现调用SAP_的_RFC_函数(整理)(附一篇看起来比较全面的说明)(JCO报错信息)
- .NET连接SAP系统专题:C#调用RFC代码(三)
- C# 中实现调用 SAP Com组件
- 基于COM组件技术C++调用C#的动态链接库
- .NET连接SAP系统专题:C#调用RFC中文乱码解决办法(十二)
- .NET连接SAP系统专题:C#调用RFC代码(三)
- C#调用手动编写的COM组件(非ATL向导生成,参考上一篇手把手写COM组件)
- C# 实现调用 SAP Com组件
- .NET连接SAP系统专题:C#(NCO3)调用BAPI(五)