.NET用NCO连接SAP RFC---写数据到SAP

2023-05-16

1.环境:

    a. win7+64位操作系统 

    b. VS2012  

    c. nco3.0(64bit 下载网址:http://www.dllbang.com/dll/sapnco_dll ),

d. Microsoft Visual C++ 2005 Service Pack 1 ,用于运行nco3.0的dll文件
    下载网址:http://www.microsoft.com/en-us/download/details.aspx?id=14431 

2.目的:将数据通过RFC插入SAP自建表。

3.步骤:

第一步:进入SAP界面:使用T- CODE:SE11   打开建表界面:建立表ZNCOTEST


图片1:


第二步:针对自建表ZNCOTEST创建RFC。

使用T- CODE:SE37   打开建RFC界面:命名为:ZNCOTEST_RFC

图片2:



RFC如下表:在TABLE参数TABLE里设置IT_MYNCOTEST 类型是刚才自建的表ZCHANNEL_MESSAG。

图片3:



在EXPORT里设置出参R_SUBRC.

图片4:


在SOURCE CODE里写代码:

图片5:



IF IT_MYNCOTEST[] IS NOT INITIAL.
  1.   MODIFY ZNCOTEST FROM TABLE IT_MYNCOTEST[].
      IF SY-SUBRC 0.
        R_SUBRC 'OKKK'.
      ENDIF.
    ENDIF.

  1. ENDFUNCTION.

然后,注意要把RFC属性设为允许远程访问:

图片6:



到此在SAP这边的工作已经就绪。


第三步:剩下的都在VS2010下完成:

打开VS2010新建一个WINDOWS窗体应用程序:WindowsFormsApplication2


拖动一个按钮控件到主窗体:


在解决方案资源管理器,引用里引用NCO3.0的sapnco.dll和sapnco_utils

 

右击项目名称WindowsFormsApplication2,点击“属性”,打开属性面板:将目标框架里默认的.NET Framework 4 Client Profile 改为:.NET Framework 4。(很重要)


在解决方案资源管理器里打开配置文件APP.CONFIG,配置如下:

代码:

<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="SAP.Middleware.Connector">
<sectionGroup name="ClientSettings">
<section name="DestinationConfiguration" type="SAP.Middleware.Connector.RfcDestinationConfiguration,sapnco"/>
</sectionGroup>
</sectionGroup>
</configSections>


<SAP.Middleware.Connector>
<ClientSettings>
<DestinationConfiguration>
<destinations>
<add NAME="DEV" USER="username" PASSWD="password" CLIENT="500"
                         LANG="ZH"  ASHOST="198.16.0.66" SYSNR="00"
                         MAX_POOL_SIZE="10" IDLE_TIMEOUT="10"/>
</destinations>
</DestinationConfiguration>
</ClientSettings>
</SAP.Middleware.Connector>


<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0"/>
</startup>
</configuration>


双击Button1按钮进入代码编辑器:

手工引用:using SAP.Middleware.Connector;


为按钮添加单击事件如下:

private void button1_Click(object sender, EventArgs e)
        {
           
            RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination("DEV");
            RfcRepository SapRfcRepository = SapRfcDestination.Repository;
            // Create and invhuoke function moduleZCHANNEL_RFC_MESSAGE  
            IRfcFunction myfun = SapRfcRepository.CreateFunction("ZNCOTEST_RFC");
            // Set some input values for the structure.  
            IRfcStructure import = null;
            IRfcTable table = myfun.GetTable("IT_MYNCOTEST");
            int i = 3;
            while (i < 6)
            {
                int j = i + 1;
                string s=j+"S";
                import = SapRfcRepository.GetStructureMetadata("ZNCOTEST").CreateStructure();
                import.SetValue("ID", s);
                import.SetValue("NAME", "Name" + s);
                import.SetValue("REMARK", "Remark" + s);
                table.Insert(import);
                i++;
            }
            myfun.Invoke(SapRfcDestination);
            string RETURNStr = myfun.GetString("R_SUBRC");
            MessageBox.Show(RETURNStr);  
        }


在sap的se16中查看 运行结果:

图片7:




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET用NCO连接SAP RFC---写数据到SAP 的相关文章

  • 验证码刷新

    lt label span class hljs keyword class span 61 span class hljs string 34 focusa 34 span gt 看不清 xff1f lt a href 61 span c
  • 如何从数据库调出数据显示到页面PHP+Mysql+Html(简单实例)

    首先显示一下数据库的数据 页面信息 lt DOCTYPE html PUBLIC 34 W3C DTD XHTML 1 0 Transitional EN 34 34 http www w3 org TR xhtml1 DTD xhtml1
  • PHP+MYSQL+HTML 学生成绩查询

    首先创建一个数据库名为 xscj xff0c 表信息如下 xff1a 页面信息为 xff1a lt DOCTYPE html PUBLIC 34 W3C DTD XHTML 1 0 Transitional EN 34 34 http ww
  • php试题与答案(一)

    1 xff0e mysql connect 与 64 mysql connect 的区别是 B A 64 mysql connect 不会忽略错误 将错误显示到客户端 B mysql connect 不会忽略错误 将错误显示到客户端 C 没
  • php试题与答案(二)

    37 xff0e 在str replace 1 2 3 函数中1 2 3 所代表的名称是 B A 34 取代字符串 xff02 xff0c xff02 被取代字符串 xff02 xff0c xff02 来源字符串 xff02 B xff02
  • PHP实现上一页下一页翻页代码实例

    lt php 1 xff0c 将数据库的所有记录查询出来 xff0c 然后再一页一页的显示 link 61 mysql connect 39 localhost 39 39 root 39 39 123 39 mysql select db
  • QT项目升级(QT4.6.3到QT5.2)时,遇到的问题和解决方法

    QT4 升级到 QT5 改动 PC部分 xff1a 改 QTDIR 变量 在工程根目录下找到 user 文件 如 InnoTabPlugin vcxproj user 修改指向你的 QT5 根目录 xff1a lt PropertyGrou
  • c++中ifstream一次读取整个文件

    c 43 43 中一次读取整个文件的内容的方法 xff1a 1 读取至char 的情况 cpp view plain copy std ifstream t int length t open 34 file txt 34 open inp
  • webkit/chromuim/CEF3介绍

    一 浏览器主要构成 浏览器的主要构成High Level Structure 浏览器的主要组件包括 xff1a 1 用户界面 xff0d 包括地址栏 后退 前进按钮 书签目录等 xff0c 也就是你所看到的除了用来显示你所请求页面的主窗口之
  • python多文件使用同一个全局变量的定义和使用方法

    Python是一种面向对象的开发语言 xff0c 在函数中使用全局变量 xff0c 一般应作全局变量说明 xff0c 只有在函数内经过说明的全局变量才能使用 xff0c 下面介绍下Python全局变量有关问题 应该尽量避免使用Python全
  • D3VO 2020CVPR论文阅读

    Deep Depth Deep Pose and Deep Uncertainty for Monocular Visual Odometry 论文链接 摘要 xff1a 提出的D3VO单目视觉里程计框架从三个层面上利用了深度学习网络 xf
  • python在windows下获取cpu、硬盘、bios、主板序列号

    此处使用的是wmi库 xff0c 可以去google里面搜索 python wmi import os sys import time import wmi zlib def get cpu info tmpdict 61 tmpdict
  • gcc中调试代码常用的宏

    红色是比较常用的 宏 意义 FILE 本文件名 LINE 本行位于该文件的第几行 FUNCTION 函数名 PRETTY FUNCTION c语言中和同上 xff0c C 43 43 中稍有区别 VA ARGS 格式化输出 VA ARGS
  • Qt基础学习(5)-----抽屉效果之QToolBox

    cpp view plain copy print mydialog h ifndef MYDIALOG H define MYDIALOG H include lt QDialog gt class QToolBox class MyDi
  • linux下c语言抓包库libpcap

    安装命令 xff1a sudo apt get install libpcap dev 由于自己还没仔细研究过 xff0c 暂时也只是想在这里留个记录 xff0c 方便以后需要时使用 下面是百度百科里的例子 include lt pcap
  • scons简易手册

    在编译大程序时免不了要写个makefile来管理 xff0c 但是makefile的规则对于大多数人来说都还太复杂了 于是我找到了autotools工具 xff0c 尽管方便了一些 xff0c 但是还是不够傻瓜 目前scons是我用过最傻瓜
  • Round-Robin负载均衡算法及其实现原理

    第一次在pjsip协议栈中了解到这个实习负载均衡的机制 于是网上查了下资料 xff0c 下面的介绍应该可以很容易理解 轮询调度算法 Round Robin Scheduling 轮询调度算法的原理是每一次把来自用户的请求轮流分配给内部中的服
  • tipc协议详解

    TIPC协议和实现解析 1 TIPC简介TIPC是爱立信公司提出的一种透明进程间通信协议 主要适用于高可用 HAL 和动态集群环境 该软件当前主要由风河 windriver 公司在维护 主要支持Linux Solaris 和 VxWorks
  • python循环方法总结

    1 for循环 语法 xff1a for x in range xff08 100 xff09 补充 xff1a rang xff08 100 xff09 xff1a 数据范围0 99 range xff08 1 xff0c 100 xff
  • Ftp 线程池方式 解决多线程问题

    FTP 线程池 方式 解决多线程问题 1 pom xml中添加依赖 lt ftp gt lt dependency gt lt groupId gt commons net lt groupId gt lt artifactId gt co

随机推荐

  • cannot connect to X server localhost:10.0

    使用SSH连接服务器时 xff0c 打开图形界面 xff0c 若报错 xff1a cannot connect to X server localhost 10 0 可以通过如下设置 xff0c 显示图形界面 xff1a export DI
  • 【VPS + ORB-SLAM2】多人使用手机协同操作调研思考

    1 ORB SLAM3 43 深度学习开源调研 ORB SLAM3 with Docker xff1a https github com petrikvladimir orbslam3 docker 特点 xff1a ORB SLAM3 w
  • 最极致Windows仿Mac2.0【win11可用】——30分钟完成(W001)

    本文原创 禁止转载 2021年12月26日2 0 更新兼容性及bug修复 加图 2022年6月 更改邮箱 2022年12月 投放下载链接 2023年4月16日 更新链接 添加联系方式 喜欢的点个赞再拿走啊啊啊 不看消息 有问题加QQ群 群号
  • 简单介绍阿里内部工具——Arthas

    在阿里巴巴内部 xff0c 有很多自研工具供开发者使用 xff0c 其中有一款工具 xff0c 是几乎每个Java开发都使用过的工具 xff0c 那就是Arthas xff0c 这是一款Java诊断工具 xff0c 是一款牛逼带闪电的工具
  • gstreamer移植qnx(二):交叉编译glib

    一 简介 这里以glib的2 63 0版本 xff0c QNX系统的版本是 xff1a 6 6 这里是为了编译gstreamer的依赖库 xff0c 也就是说最终目标 xff0c 是将gstreamer移植到QNX6 6系统上 我选择的是g
  • repo安装与简单使用

    一 概述 当一个大的项目需要拆分成很多的子项目 xff0c 或者说一个软件系统拆分成多个子系统 每一个子项目或者子系统都对应一个git repository 这种需求在实际项目当中是很常见的 xff0c 有的可能就直接写一个shell脚本来
  • 通过qemu-img命令将raw image转换成VMware虚拟硬盘vmdk

    为了在VMware中跑QNX系统 xff0c 我需要想办法将编译BSP生成的img文件固化到VMware的虚拟硬盘中去 xff0c 之前一直找不到方法 xff0c 到渐渐的只能用很笨的方法几次中专 将生成的img文件通过win32DiskI
  • WSL2 Ubuntu安装Qt(包括QtCreator)

    最近因为需要在Linux下使用qtcreator做一些界面开发的预研和学习 xff0c 主要是因为要交叉编译Qt 但又不想再使用虚拟机了 xff0c 真的太消耗内存了 于是就想着直接使用Windows10 下面的WSL2 怎么安装WSL2这
  • 架构师成长之路工具篇(1):markdown撰写文档

    今天笔者想说的工具就是markdown xff0c 正所谓工欲善其事必先利其器 xff0c 选择高效的工具自然能提升工作效率 笔者使用的markdown工具是 xff1a typora word太重 xff0c 太复杂 xff0c 在写文档
  • 如何优雅的退出qemu虚拟环境

    在console环境下 xff0c 先 按 ctrl 43 a xff0c 释放之后再按 x 键 既可terminate qemu 注 xff1a 1 a 和 x 均为小写 2 必须先释放ctrl 43 a 之后 再按x键
  • xmake经验总结1:解决c++ future/promise抛出std::system_error的问题

    1 背景 1 1 场景 编译器 xff1a gcc 9 4 运行系统 xff1a Ubuntu 20 04 4 LTS xmake v2 6 7 场景 xff1a 其大致场景是使用c 43 43 的future promise功能 xff0
  • 神经网络实现手写数字识别(MNIST)

    一 缘起 原本想沿着 传统递归算法实现迷宫游戏 gt 遗传算法实现迷宫游戏 gt 神经网络实现迷宫游戏的思路 xff0c 在本篇当中也写如何使用神经网络实现迷宫的 xff0c 但是研究了一下 xff0c 感觉有些麻烦不太好弄 xff0c 所
  • 【AI】Auto-GPT:当时代抛弃你的时候,不会和你说一声再见!

    当时代抛弃你的时候 xff0c 不会和你说一声再见 xff01 Auto GPT Code Auto GPT 一个全自动化的GPT 4 Collecting BOTAI Auto GPT 官网网站
  • 解决visio对象在word中显示不全的问题

    作为一个软件工程师 xff0c 编写技术文档是常有的事情 xff0c 使用visio绘制各种图形 如 xff0c 流程图 xff0c 结构图 xff0c 框架图 xff0c 状态图等等 也是再正常不过的事情 如果我们在word中撰写文档时
  • git submodule使用以及注意事项

    一 背景 在平时的软件开发过程中常常会有这样的场景 xff0c 自己负责的某个模块会依赖其他模块或者第三方的library 这时你自己的模块是一个独立的代码仓库 xff0c 你想要实现这样一种功能 xff0c 当你从你的模块的代码仓库里把代
  • Webpack5 - 基本使用

    一 webpack有何作用 webpack是一个Javascript应用程序的模块打包器 它可以递归地构建一个应用程序的模块依赖关系图 xff0c 然后将所有模块打包在一起 为什么需要模块打包器 xff1a 现在的应用程序模块文件很多 xf
  • Vue.js - VueRouter的Hash与History模式 / 手写VueRouter

    一 Hash与History模式 Hash模式History模式url地址外观http localhost 8081 abouthttp localhost 8080 about原理基于锚点 xff0c 监听锚点变化时触发的onhashch
  • Vue.js - Vue.js响应式原理(1/2)

    一 数据驱动 数据响应式 xff1a 数据改变 xff0c 则视图改变 xff0c 避免频繁的Dom操作 xff0c 提高运行效率 双向绑定 xff1a 数据改变 xff0c 则视图改变 xff1b 视图改变 xff0c 则数据也随之改变
  • Vue.js - 模拟Vue.js响应式原理(2/2)

    项目仓库 xff1a https gitee com big right right vue responsive tree master L8 一 类的说明 Vue类 xff1a 保存传入的选项数据 xff0c 把选项data中的成员注入
  • .NET用NCO连接SAP RFC---写数据到SAP

    1 环境 xff1a a win7 43 64位操作系统 b VS2012 c nco3 0 xff08 64bit 下载网址 xff1a http www dllbang com dll sapnco dll xff09 xff0c d