zoukankan      html  css  js  c++  java
  • .NET通过NCO3.0连接SAP并传递数据(一)

    1.在新建的项目中引入需要的两个dll文件,sapnco.dll和sapnco_utils.dll(直接安装NCo307_Net20_x86.msi安装包即可获得)

    2.创建连接SAP需要的配置类,代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using SAP.Middleware.Connector;
    using System.Configuration;
    
    namespace SapInterface
    {
        public class BackendSAPConfig : IDestinationConfiguration
        {
            #region 重写接口中的方法,获得SAP相关配置信息
    
            public RfcConfigParameters GetParameters(string destinationName)
            {
                if (destinationName.Equals("TEST"))
                {
                    RfcConfigParameters parms = new RfcConfigParameters();
                    parms.Add(RfcConfigParameters.AppServerHost, ConfigurationManager.AppSettings["ServerHost"]);   //SAP主机IP
                    //parms.Add(RfcConfigParameters.SystemID, ConfigurationManager.AppSettings["SystemID"]);//系统ID
                    parms.Add(RfcConfigParameters.SystemNumber, ConfigurationManager.AppSettings["SystemNumber"]);  //SAP实例
                    parms.Add(RfcConfigParameters.User, ConfigurationManager.AppSettings["User"]);  //用户名
                    parms.Add(RfcConfigParameters.Password, ConfigurationManager.AppSettings["Password"]);  //密码
                    parms.Add(RfcConfigParameters.Client, ConfigurationManager.AppSettings["Client"]);  // Client
                    parms.Add(RfcConfigParameters.Language, ConfigurationManager.AppSettings["Language"]);  //登陆语言
                    parms.Add(RfcConfigParameters.PoolSize, ConfigurationManager.AppSettings["PoolSize"]);
                    //parms.Add(RfcConfigParameters.MaxPoolSize, "10");已过时,被PeakConnectionsLimit替代
                    parms.Add(RfcConfigParameters.PeakConnectionsLimit, ConfigurationManager.AppSettings["PeakConnectionsLimit"]);
                    //parms.Add(RfcConfigParameters.IdleTimeout, "60");
                    return parms;
                }
                else
                {
                    return null;
                }
    
            }
            #endregion
    
            #region 实现接口中的方法
    
            public bool ChangeEventsSupported()
            {
                return false;
            }
    
            public event RfcDestinationManager.ConfigurationChangeHandler ConfigurationChanged;
            #endregion
        }
    }

    3.主要一些方法如下

    View Code
        public void nco()
            {
                IDestinationConfiguration config = new BackendSAPConfig();//实例化SAP接口配置类
                RfcDestinationManager.RegisterDestinationConfiguration(config);//注册
                RfcDestination prd = RfcDestinationManager.GetDestination(destinationName.ToUpper());//传入参数获得连接配置
                nco(prd);
                //注意,反注册在NCO 3.0.7.0版本中需要放在nco(prd)后面,而在NCO 3.0.1.0放在nco(prd)前面也行
                RfcDestinationManager.UnregisterDestinationConfiguration(config);//反注册
    
            }
  • 相关阅读:
    day16(链表中倒数第k个结点)
    day15(C++格式化输出数字)
    day14(调整数组顺序使奇数位于偶数前面 )
    day13(数值的整数次)
    day12(二进制中1的个数)
    day11(矩形覆盖)
    day10(跳台阶)
    hadoop 又一次环境搭建
    Hive 学习
    hadoop -工具合集
  • 原文地址:https://www.cnblogs.com/StevenDu/p/2876418.html
Copyright © 2011-2022 走看看