Windows XP Tablet Ed.CEOQASQL Server 2000Windows Vista.NET 1.0DBAWindows 2003.NET 1.1.NET 3.0Windows 2000ASP设计 / 图形架构师高级Windows XP.NET 2.0.NET 3.5SQL Server 2005AjaxC# 2.0C# 3.0开发SQL ServerWindows.NETASP.NETC#
将 .Net 应用程序与 SAP 集成
连接 .Net 和 SAP
引言。
使用 ERPConnect 将 .Net 应用程序与 SAP 集成。您可以使用以下方法连接 SAP 系统
- RFC(函数调用)
- BAPI
- Idoc
- SAP 查询
- 特殊类等等
什么是 SAP .Net Connector
- SAP 产品。基于 Microsoft .NET 技术
- 通过 RFC/SOAP 与 SAP 交互
- 与 Visual Studio.NET 完全集成
- 托管代码
- 为任何 .NET 应用程序集成生成 C# 代理类
- 支持 RFC 和 SOAP
- 支持 qRFC、tRFC
- 支持异步 SOAP 调用
- RFC 客户端或 RFC 服务器
关于 ERPConnect 的简介
ð ERPConnect.net 是一个精简的 .NET 程序集,它使您无需付出很大努力,最重要的是,无需复杂的 infrastructure 或任何额外的中间件即可开发强大的 SAP 接口。
ð 支持 RFC 和 SOAP,因此将其自身集成到任何现代 SAP NetWeaver 架构中
ð 也适用于移动设备
ð ERPConnect.net 还提供一系列特殊类,以高效、安全、稳定地处理 SAP 接口编程中最奇异的要求
ð 直接通过 RFC 读取 SAP 表
所需资源
- SAP .Net Connector: ERPConnect
- SAP 服务器详细信息
- SAP 服务器的名称/IP
- 系统编号
- 用户名
- 密码
- 语言
- 客户端
使用代码
首先在开发环境中安装 ERPConnect。安装 ERPConnect 后,转到应用程序中的“添加引用”块,找到 ERPConnect.dll 并单击添加。将 ERPConnect.dll 添加到引用文件夹后。您可以将以下内容添加到 xyz.cs 文件中。现在完全取决于您。您可以根据自己的需要进行实现。在下面的代码中,我使用了特殊类的概念。
代码块
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.Odbc;
using ERPConnect;
using ERPConnect.Utils;
using ERPConnect.Queries;
namespace SAP1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
//licence
ERPConnect.LIC.SetLic(); //Not Required in case of trial version but is must in case of licenced version
//creating the connection object
R3Connection con = new R3Connection("SAP Server IP/Name", System Number, "UserName", "PWDl", "Language", "Client");
//open the connection
con.Open();
DataTable dt = new DataTable();
ReadTable rt = new ReadTable(con);
rt.TableName = "SAP Table Name";
rt.AddField("FieldName");
rt.AddField("FieldName");
rt.Run();
dt = rt.Result;
dataGridView1.DataSource = dt; // displays the result in gridview
}
catch (Exception ex)
{
textBox1.Text = ex.Message;
}
}
}
}