当前位置: 首页 > news >正文

深圳网站设计南京百度北京总部电话

深圳网站设计南京,百度北京总部电话,公司网站建设 阜阳,现在石家庄做网站的公司有哪几家本篇博文不再重复ABAP调用外部服务器的基础,只介绍 NCo3 开发的过程和要点。需要了解相关知识点的小伙伴们自行参考: SAP接口编程 之JCo3.0系列(06) - Jco服务器端编程 PyRFC 服务器端编程要点 创建项目 新建一个 Console 项目,选择 .Net …

本篇博文不再重复ABAP调用外部服务器的基础,只介绍 NCo3 开发的过程和要点。需要了解相关知识点的小伙伴们自行参考:

SAP接口编程 之JCo3.0系列(06) - Jco服务器端编程
PyRFC 服务器端编程要点

创建项目

新建一个 Console 项目,选择 .Net Framework 平台。目前 NCo 3.1 不支持 .Net Core。

点击「Create」按钮,完成项目的创建。

添加引用

SAP 已经对 NCo3.0 停止技术支持,所以建议使用 3.1 版本。3.1 版可以从 SAP Connector for Microsoft .NET 下载,但需要下载权限。在本文的源码中,提供了 NCo3.1 的安装程序,以方便没有下载权限的同学。

NCo3.1 安装之后 sapnco.dll 和 sapnco_utils.dll 位于不同的文件夹中。默认的位置为:

因为我下载的是 64 位版本,dll 文件在 GAC_64 文件夹下面。


配置

NCo3 需要登录 SAP 的配置和以及 RFC 服务器的配置,通过两个类来进行配置。首先是登录到 SAP 的配置,创建 SAPDestininationConfig 类,实现 IDestinationConfiguration 接口:

public class SAPDestininationConfig : IDestinationConfiguration
{public event RfcDestinationManager.ConfigurationChangeHandler ConfigurationChanged;public bool ChangeEventsSupported(){return false;}public RfcConfigParameters GetParameters(string destinationName){if ("ECC".Equals(destinationName)) {RfcConfigParameters parms = new RfcConfigParameters();parms.Add(RfcConfigParameters.AppServerHost, "sapecc6");  // or ip addressparms.Add(RfcConfigParameters.SystemNumber, "00");        // instance numberparms.Add(RfcConfigParameters.SystemID, "D01");parms.Add(RfcConfigParameters.User, "STONE");parms.Add(RfcConfigParameters.Password, "w123456");parms.Add(RfcConfigParameters.Client, "001");parms.Add(RfcConfigParameters.Language, "EN");parms.Add(RfcConfigParameters.PoolSize, "5");return parms;}else {return null;}}

RFC Server 的配置:

public class RFCServerConfig : IServerConfiguration
{public event RfcServerManager.ConfigurationChangeHandler ConfigurationChanged;public bool ChangeEventsSupported(){return false;}public RfcConfigParameters GetParameters(string serverName){if ("PRD_000".Equals(serverName)) {RfcConfigParameters parms = new RfcConfigParameters();parms.Add(RfcConfigParameters.RepositoryDestination, "ECC");parms.Add(RfcConfigParameters.GatewayHost, "sapecc6");parms.Add(RfcConfigParameters.GatewayService, "sapgw00");parms.Add(RfcConfigParameters.ProgramID, "RFCSERVER");parms.Add(RfcConfigParameters.ConnectionCount, "5");return parms;}else {return null;}}
}

ABAP 函数处理器

namespace SAPNCo3.ServerScenario
{public class FunctionModuleHandler{[RfcServerFunction(Name = "STFC_CONNECTION")]public static void StfcConnection(RfcServerContext context, IRfcFunction function){Console.WriteLine($"Received function call {function.Metadata.Name} from system {context.SystemAttributes.SystemID}.");// 从ABAP获取 import 参数String reqtext = function.GetString("REQUTEXT");Console.WriteLine($"REQUTEXT = {reqtext}\n");// 设置 export 参数function.SetValue("ECHOTEXT", reqtext);function.SetValue("RESPTEXT", "从RFC服务器返回的消息!");}}
}

RFC Server

最后在 Program.cs 中直接创建 RFC Server,并启动:

using SAP.Middleware.Connector;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SAPNCo3.ServerScenario
{internal class Program{static void Main(string[] args){// Client configurationRfcDestinationManager.RegisterDestinationConfiguration(new SAPDestininationConfig());// Server ConfigurationRfcServerManager.RegisterServerConfiguration(new RFCServerConfig());// Function module handlersType[] handlers = new Type[1] { typeof(FunctionModuleHandler) };// Create RFC ServerRfcServer server = RfcServerManager.GetServer("PRD_000", handlers);// Start serverserver.Start();// 等待client发起调用,指导用户按下 X 键Console.WriteLine("Server has been started. Press X to exit.\n");while (true) {if (Console.ReadLine().Equals("X"))break;}// Server shut downserver.Shutdown(true);            }}

源码

sap_interface_nco3: SAP NCo 3.0 Demos

http://www.hkea.cn/news/366867/

相关文章:

  • 最新政府网站建设理念广州头条新闻最新
  • 济宁网站建设神华线上推广的三种方式
  • 我要表白网站在线制作如何做网站的教程
  • 福州论坛建站模板策划网络营销活动
  • 网站建设 天津百度市场应用官方app
  • 动态网站制作流程友情链接的定义
  • 企业网站开发方案免费建立一个网站
  • 网站引导页面制作的四个任务名称推广引流的10个渠道
  • 南宁网站建设制作后台网站关键词优化价格
  • 微信小程序商城制作公司宁波seo推广服务
  • 响应式购物网站公司seo是什么意思
  • 360未经证实的网站如何做电商运营方案
  • 网站建设类公司排名营销方案范文100例
  • 郑州网站设计 郑州网站开发网络优化有前途吗
  • 黑河做网站首页关键词排名优化
  • 网站二级域名怎么解析公司网络搭建
  • wordpress做网店win10优化大师是官方的吗
  • 弄个做网站公司产品宣传
  • 商品房建设信息网站googleplay商店
  • 菏泽 网站建设优化工具箱
  • 网站建设找哪家公司百度搜索热度
  • 网页设计论文引言北海百度seo
  • 网站空间哪家做的好网络营销的常用工具
  • 网站开发具体问题优化营商环境
  • wordpress4.5 火车头廊坊seo培训
  • 怎么做多个网站单点登录艺考培训
  • 网站怎么做双语种seo关键词如何设置
  • 用java做的游戏下载网站有哪些内容成都网络推广优化
  • 慈溪市网站建设google官网
  • 网站建设计划seo网站排名优化软件是什么