何谓RFC,就是一个Function,可以被非SAP系统调用,比如VB,C#,Java等。如果我们在RFC中INCLUDE了相关的业务逻辑,那么我们就可以完全操控SAP中的业务数据了。就像在TTE里,有一只程序,前端是在OA开发,设计了相关的客户提领库存,然后还要到SAP系统中去执行程序扣减相应的库存,这样是挺费劲的,如果能够在OA中放一个按钮,点击这个按钮就自动执行了这个程序,方便省事。而这一切,可以利用C#调用RFC来实现。

要实现整个过程,则必须要现在SAP中建立好相应的RFC函数,然后用VS建立好相应的程序,写代码调用就可以了。两者关联就是使用NCO3.0这个东西了。

OK,本节主要讲在SAP中建立我们想要的RFC出来。

那么,我们假定要实现这样的一个功能:运行在SAP系统外的一个程序窗体,上面有一个下拉框和文本框。程序运行之后自动载入SAP中某个Client的品号至该下拉框,用户只要点击了这个下拉框,内容一改变,则旁边的文本框就现实该品号的品名出来。够简单吧!

首先登陆SAP,比如我们要操作的Client为888(我自己建立的,图个吉利)。运行SE37:

然后:

建立函数组,输入相关内容:

完了点击保存。

之后回到SE37,输入我们要调用的RFC函数名,比如:ZRFC_MARA_INFO  然后点击新建(右一按钮):

点击保存之后会弹出如下对话框:

点击打勾,忽略之。

主画面如下:

画面切换至 属性 页,设置该RFC为可远程调用。

因为我们到时候会传递一个品号进来读取品名,SO,在Import页面设置一个参数用来传递进来品号:

第一个复选框代表此参数可选可不选传递,第二个代表参考。在RFC里如果不打勾,保存会提示:

因为我们会要抓取品名,需要有一个栏位抛出品名出来。SO,Export页面如下:

因为我们程序一开始需要抛出所有的品号表格出来,SO,此时我们需要有一个内表专门用于抛出品号信息。Table属性页如下:

至此,所有参数设置完毕。接下去就要去代码页编写相应的代码了。

代码如下:

SELECT * INTO CORRESPONDING FIELDS OF TABLE IT_MARA FROM MARA.

SELECT SINGLE MAKTX INTO MAKTX FROM MAKT WHERE MATNR = MATNR AND SPRAS = '1'.

最后点击激活!这里的激活不是单单激活这个RFC这么简单,还有其他的项目,记得要勾选上:

至此,RFC建立完毕。接下去就是在C#中进行调用。

原文:http://blog.csdn.net/mengxin523/article/details/6710088

.NET连接SAP系统专题:SAP中新建可远程调用的RFC(二)的更多相关文章

  1. .NET连接SAP系统专题:BAPI_TRANSACTION_COMMIT的使用方法(十)

    from:http://scnblogs.techweb.com.cn/mengxin/archives/5.html 为什么.net调用SAP的BAPI接口需要调用BAPI_TRANSACTION_ ...

  2. .NET连接SAP系统专题:C#调用RFC代码(三)

    本文就说明在C#中如何编写代码来调用SAP中的RFC函数获取数据. 首先需要引用两个NCO3.0的DLL DLL下载地址:http://files.cnblogs.com/mengxin523/SAP ...

  3. .NET连接SAP系统专题:.NET调用RFC几种方式(一)

    本来今天是要写一篇关于NCO3.0的东西,就是关乎.NET调用SAP的RFC的,支持VS2010和.NET 4.0等.现在网上到处都是充斥着NCO1.X和NCO2.0,需要用VS2003来使用,都是一 ...

  4. [计算机故障]华为手机无法连接XP系统(inf中找不到所需的段落)

    同事新买的华为手机麦芒C199,拍了些照片.结果连接电脑,没有反应. 后经打电话到华为,可以到华为官网下驱动. 地址如下: http://consumer.huawei.com/cn/support/ ...

  5. 架构师之路-在Dubbo中开发REST风格的远程调用

    架构师之路:从无到有搭建中小型互联网公司后台服务架构与运维架构 http://www.roncoo.com/course/view/ae1dbb70496349d3a8899b6c68f7d10b 概 ...

  6. 【Rest】在Dubbo中开发REST风格的远程调用(RESTful Remoting)

    目录 概述 REST的优点 应用场景 快速入门 标准Java REST API:JAX-RS简介 REST服务提供端详解 HTTP POST/GET的实现 Annotation放在接口类还是实现类 J ...

  7. SAP系统中ASCS、ERS、PAS、AAS

    SAP系统中ASCS.ERS.PAS.AAS是什么: ASCS:ABAP Central services instance (Message server) PAS: Primary applica ...

  8. Java连接Sap系统调并调用RFC函数

    参考博客:https://blog.csdn.net/qq_36026747/article/details/81287462                   https://www.cnblog ...

  9. C#通过RFC连接sap系统

    先理解一下 RFC(Romote Function Call)远程函数调用 调用前提: 1.要想通过C# 通过RFC调用SAP端,SAP端要存在RFC远程调用的函数才行(例如SAP端通过SE37创建) ...

随机推荐

  1. [Everyday Mathematic]20150212 求 $(\cos x+2)(\sin x+1)$ 的最大值

    设 $$\bex t=\tan \frac{x}{2}, \eex$$ 则 $$\bex \cos x=\frac{1-t^2}{1+t^2},\quad \sin x=\frac{2t}{1+t^2 ...

  2. JAVA多线程二

    Thread.Join() join()函数表示等待当前线程结束,然后返回. public final synchronized void join(long millis) throws Inter ...

  3. 【Unity入门】场景、游戏物体和组件的概念

    版权声明:本文为博主原创文章,转载请注明出处. 游戏和电影一样,是通过每一个镜头的串联来实现的,而这样的镜头我们称之为“场景”.一个游戏一般包含一个到多个场景,这些场景里面实现了不同的功能,把它们组合 ...

  4. svn import 向Google code里导入初始代码

    其实很简单的问题,花费了这么多时间,想把初始代码导入到Google code里,用VisaulSVN插件的Switch功能也不可以,Google code上虽然有上传,但是只能单个文件传...... ...

  5. 说说Python 中的文件操作 和 目录操作

    我们知道,文件名.目录名和链接名都是用一个字符串作为其标识符的,但是给我们一个标识符,我们该如何确定它所指的到底是常规文件文件名.目录名还是链接名呢?这时,我们可以使用os.path模块提供的isfi ...

  6. 9段高效率开发PHP程序的代码

    php是世界上最好的语言 在php网站开发中,大家都希望能够快速的进行程序开发,如果有能直接使用的代码片段,提高开发效率,那将是起飞的感觉.今天由杭州php工程师送出福利来了,以下9段高效率开发PHP ...

  7. 【boost】使用lambda表达式和generate_n生成顺序序列

    程序中经常用到顺序序列(0,1,2,3,4,5,6.....),一直羡慕python有range这样的函数,而C++中通常只有用循环来处理这种初始化. 现在,结合boost库lambda(虽然差C++ ...

  8. Archlinux 踩坑实录

    Archlinux 没声音 1. 排查驱动,声卡驱动没问题 2.排查alsa,alsa没问题(并确认声卡存在且取消静音) 3.抱着尝试的心态,安下VLC.然后提示找不到默认声卡设备(大概这个意思),通 ...

  9. PV3D学习笔记-导入DAE模型

      网上关于PV3D导入DAE模型的例子都非常多,可惜我研究了半天,一个都没成功,或者是破面问题,或者是贴图不显示,再或者贴图乱掉了.今天晚上终于搞定,心得发上来. 制作模型的软件是SketchUp ...

  10. Numpy矩阵取列向量

    >>> A=matrix("1 2;3 4") >>> A matrix([[1, 2], [3, 4]]) >>> A[:, ...