zoukankan      html  css  js  c++  java
  • .NET连接SAP系统专题:SAP中新建可远程调用的RFC(二)

        何谓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

  • 相关阅读:
    三次请求(读-改-读)引出nibernate 一级缓存
    算法竞赛入门经典第一、二章摘记
    uva 10905 Children's Game
    uva 11205 The broken pedometer
    uva 10160 Servicing stations
    uva 208 Firetruck
    uva 167 The Sultan's Successors
    zoj 1016 Parencodings
    uva 307 Sticks
    uva 216 Getting in Line
  • 原文地址:https://www.cnblogs.com/dekevin/p/3253628.html
Copyright © 2011-2022 走看看