zoukankan      html  css  js  c++  java
  • .NET连接SAP系统专题:C#(NCO3)调用BAPI的一些说明(六)

        既然BAPI是一些特殊的RFC,封装了业务逻辑,使得将业务都变成一个一个对象,使用者只需要传入传出参数就可以了。

        NCO3连接BAPI之前先来看看BAPI的一些参数规则。我们以 BAPI_USER_CREATE 为例子。此BAPI调用了可以生成一个用户,它当然不是仅仅对USR02进行写入那么简单。生成之后该账户什么权限也没有。

        输入T-CODE:BAPI,然后在第二个页签下找到该BAPI:

        

        上图中的红色框框里就是我们要调用的BAPI的名称。双击它,进入到该BAPI的一些说明里:

        

         看到了,在属性页里它勾选了Remote... 说明它是可以远程操控的!

         

         上图里,注意到红色框框都是不可选的,也就是后面的复选框没有选中,它告诉我们,在调用BAPI的时候这些参数是必须要有值传进来的!

          

          这个就是返回的参数。当然,这个Return也是必须要传出来的值。

          细心的人从上面几个图片可以看出,“参考打印”栏位里都是BAPI开头的结构,或者是结构里面的一个字段。双击这些结构进去就可以看到相关的栏位组成。

          现在回到Import页签里,双击USERNAME的“参考打印”——BAPIBNAME-BAPIBNAME。“-”前部分是结构,后面是这个结构里的一个栏位。进入到里面:

          

         这个BAPINAME结构只有一个栏位,而且是CHAR型,12码,SO,在传 用户名 进来的时候就是写入字符串即可。

         我们看看PASSWORD,对应的结构是:BAPIPWD 双击之,如下图:

         

         发现这里面只有一个栏位,CHAR型,40码,传密码之用。

         再看看ADDRESS栏位对应的结构BAPIADDR3,双击之:

         

         这个结构栏位就比较多了。虽然这里没有规定那些是必须要有值的,但确实有些是需要赋值,有些则可以放空。

         我们在SU01里面新建用户的时候系统会提示要求输入姓和名,那么这里的FIRSTNAME和LASTNAME是必须的了。

         BAPI里传入的参数LOGONDATA是放登陆数据的,具体的结构不再赘述。而返回的信息RETURN里有一个MESSAGE是放调用结果的信息,我们在NCO3里调用要用到它来返回结果信息。

         知道了这些原理之后就很清楚知道在C#中要怎么写了,那些参数是必须的就一目了然了。SO,下篇博文放出NCO3调用BAPI的代码!

  • 相关阅读:
    Java进阶学习(5)之设计原则(下)
    Java进阶学习(5)之设计原则(上)
    Java进阶学习(4)之继承与多态(下)
    Java进阶学习(4)之继承与多态(上)
    Java进阶学习(4)之继承与多态.demo
    python自动更新升级失败解决方案
    信息检索
    对卷积神经网络原理理解
    对DensePose: Dense Human Pose Estimation In The Wild的理解
    Java进阶学习(3)之对象容器.小练习
  • 原文地址:https://www.cnblogs.com/saper/p/2152605.html
Copyright © 2011-2022 走看看