• C#如何通过NCO3.0来连接SAP并调用SAP中的RFC


    C#如何通过NCO3.0来连接SAP并调用SAP中的RFC
    首先安装NCO3.0,这是SAP针对.Net开发的专用组件,安装完成之后在C:Program FilesSAPSAP_DotNetConnector3_x86目录下面会有sapnco_utils.dll sapnco.dll rscp4n.dll libicudecnumber.dll四个DLL文件,在项目里面添加引用,找到这个4个DLL文件,引用到项目里面,libicudecnumber.dll会提示无法引用,貌似要将项目的.NET目标平台改为4.0的才可以,这里我没有亲测。
    下面开始编程了:

    using SAP.Middleware.Connector;
    public void GetSapData() 
            {
                RfcConfigParameters rfcPar = new RfcConfigParameters();
                rfcPar.Add(RfcConfigParameters.Name, "CON");
                rfcPar.Add(RfcConfigParameters.AppServerHost, "IP");
                rfcPar.Add(RfcConfigParameters.Client, "800");
                rfcPar.Add(RfcConfigParameters.User, "UserID");
                rfcPar.Add(RfcConfigParameters.Password, "Password");
                rfcPar.Add(RfcConfigParameters.SystemNumber, "02");
                rfcPar.Add(RfcConfigParameters.Language, "EN");         
                RfcDestination dest = RfcDestinationManager.GetDestination(rfcPar);
                RfcRepository rfcrep = dest.Repository;
                IRfcFunction myfun = null;
                myfun = rfcrep.CreateFunction("SAP里面的函数名称");
                myfun.SetValue("VTYPE", "0");//SAP里面的传入参数
                myfun.Invoke(dest);
                IRfcTable IrfTable = myfun.GetTable("IT_ZMYTB2");
                //提前实例化一个空的表结构出来
                DataTable dt = new DataTable();
                dt.Columns.Add("USERID");
                dt.Columns.Add("USERPWD");
                dt.Columns.Add("USERADDRESS");
                //循环把IRfcTable里面的数据放入Table里面,因为类型不同,不可直接使用。
                for (int i = 0; i < IrfTable.Count; i++)
                {
                    IrfTable.CurrentIndex = i;
                    DataRow dr = dt.NewRow();
                    dr["USERID"] = IrfTable.GetString("USERID");
                    dr["USERPWD"] = IrfTable.GetString("USERPWD");
                    dr["USERADDRESS"] = IrfTable.GetString("USERADDRESS");
                    dt.Rows.Add(dr);
                }
                //将重新生成的Table赋值给数据控件DataGridView。
                dgv.DataSource = dt;
            }

     原文:http://www.cnblogs.com/allen0118/archive/2012/07/26/2609403.html

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    div布局改进treeview导航
    WEB框架研究笔记八(HIBERNATE)
    WEB框架研究笔记四(Spring Framework)
    WEB框架研究笔记二(Extjs调用Struts)
    WEB框架研究笔记九(PowerDesigner)
    WEB框架研究笔记七(Spring2+struts2)
    WEB框架研究笔记十(JPA)
    WEB框架研究笔记11(第一阶段完成)
    WEB框架研究笔记五(Spring Aop)
    WEB框架研究笔记三(连接数据库)
  • 原文地址:https://www.cnblogs.com/dekevin/p/3253564.html
Copyright © 2020-2023  润新知