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);//反注册
    
            }
  • 相关阅读:
    Django基础
    PostMan打不开怎么解决
    Beyond Compare 4.x(含4.3.3)专业版独家破解(附激活密钥以及注册机,全网独家可用)
    详细安装教程(视频版)
    经典排序算法及总结(python实现)
    Django开发常用方法及面试题
    C:UsersKellyAppDataRoaming pm-cache\_logs2019-03-24T08_17_24_284Z-debug.log
    vue项目搭建和开发流程 vue项目配置ElementUI、jQuery和Bootstrap环境、跨域问题
    970.强整数
    9_11 bootstarp使用
  • 原文地址:https://www.cnblogs.com/StevenDu/p/2876418.html
Copyright © 2011-2022 走看看