`
moonfly2004
  • 浏览: 54980 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

关于BAPI应用的基本概念和用法

阅读更多

转自:http://blog.csdn.net/CompassButton/archive/2006/11/17/1392359.aspx

1 BAPI的优点

bapi是面向对象的设计;
bapi是固定的,一般不能修改;
bapi可以被sap内部部件和非sap程序使用;
bapi的成功和错误信息始终通过RETURN返回;
bapi可以被许多开发平台使用;

2 何时该考虑使用BAPI设计程序

用VB/JAVA?C++等语言编写非SAPGUI程序访问和处理sap数据;
SAP不同部件之间通讯;
与非sap程序或者老系统交换数据:
使用异步通信分发数据如:ALE
可以通过SAP Business Connector or Internet Application Components 与因特网程序集成;

3 关于RETURN

RETURN用于BAPI返回错误和成功的消息,它可以是BAPIRETURN,BAPIRETURN,BAPIRET1,BAPIRET2和BAPIRET2_FIX中的一种类型.这些结构一般都包括以下字段:

TYPE

CHAR 1

S

= success message
E = error message
W = warning message
I = information message
A = termination message (abort)

ID

CHAR 20

Message ID The structure BAPIRET2 takes into account the name space extension for the message class as of Release 4.0. If you want messages to be compatible with earlier R/3 Releases, use the message classes before Release 4.0.

NUMBER

NUMC 3

Message number

MESSAGE

CHAR 220

Full message text from the message table. All variables (in fields Message_V1 to Message_V4) have been replaced with text.

MESSAGE_V1
MESSAGE_V2
MESSAGE_V3 MESSAGE_V4

CHAR 50

Fields for the variable texts of the message

 

4 BAPI的程序框架

Log on
       (Source code)
   Call BAPI
(Source code)
   Call BAPI
       (Source code)
Call BAPI BapiService.TransactionCommit()
       (Source code)
   Call BAPI
       (Source code)
   Call BAPI
       (Source code)
Call BAPI BapiService.TransactionCommit()
       (Source code)
Log off

5 相关函数

'BALW_BAPIRETURN_GET2':取生成返回消息
    CALL FUNCTION 'BALW_BAPIRETURN_GET2'
         EXPORTING
              TYPE   = 'E'
              CL     = 'BC_BOR'
              NUMBER = 163
              PAR1   = MSG1_HLP
              PAR2   = MSG2_HLP
         IMPORTING
              RETURN = RETURN.
BAPI_TRANSACTION_COMMIT 和 API_TRANSACTION_ROLLBACK: BAPI事务函数

BUFFER_SUBSCRIBE_FOR_REFRESH和BUFFER_REFRESH_ALL: 缓冲区处理函数

'TRANSACTION_BEGIN ,'TRANSACTION_STATUS' 和'TRANSACTION_END' 的调用示例
    call function 'TRANSACTION_BEGIN'  "94702/KB
         importing                     "94702/KB
              transaction_id = transaction_id                  "94702/KB
         exceptions                    "94702/KB
              others         = 1.      "94702/KB
    call function 'BAPI_PO_CREATE'     "94702/KB
         exporting                     "94702/KB
              po_header                  = po_head             "94702/KB
         importing                     "94702/KB
              purchaseorder              = h_ebeln             "94702/KB
         tables                        "94702/KB
              po_items                   = po_item             "94702/KB
              po_item_schedules          = po_sched            "94702/KB
              po_item_account_assignment = po_acct             "94702/KB
              po_item_text               = po_text             "94702/KB
              return                     = return              "94702/KB
         exceptions                    "94702/KB
              others                     = 0.                  "94702/KB
    call function 'TRANSACTION_STATUS' "94702/KB
         importing                     "94702/KB
              status  = status_of_transaction                  "94702/KB
         exceptions                    "94702/KB
              others  = 1.             "94702/KB
    if status_of_transaction = commit_work.                    "94702/KB
      commit work and wait.            "94702/KB
    endif.                             "94702/KB
    call function 'TRANSACTION_END'    "94702/KB
         exporting                     "94702/KB
              transaction_id = transaction_id                  "94702/KB
         exceptions                    "94702/KB
              others         = 1.      "94702/KB

分享到:
评论

相关推荐

    网站扒皮工具(绝对实用)

    扒皮工具,超级实用

    网站模板扒皮者

    网站模板扒皮者 把一个网站单页完整的把所有内容拷贝下载 下载内容有CSS,JS,SWF,xml以及CSS文件内部图片等等! 网站下载后会保存在运行软件目录下,自动建立以域名为名称的目录! 版本1.3 2012/09/06 更新说明 ...

    html专业扒皮工具

    非常好用的扒皮工具,一直自用的工具真心好用!记得好评

    TeleportUltra克隆网站扒皮工具

    TeleportUltra克隆网站扒皮工具

    网站扒皮者

    单页下载,多页下载,整站下载,完美下载一个网站模板,让你瞬间...本软件经过各种实践而诞生的、绝非市面上一般的只下载些无用的乱七八糟的程序,支持各种网站模板的扒皮,有了此软件你能得心应手的高效的做出网站!

    网页扒皮机-GGCMS

    网页扒皮机是GGCMS官方提供的一款网站模板制作利器,能将你输入的网址的模板保存到本地。

    网页扒皮者

    网页扒皮者,竟写实下载几十个模板,无毒放心使用。

    网站模板扒皮者V2.7_正式版

    网站模板扒皮者 V2.7_正式版

    网站模版扒皮工作者

    很强大的网站模版扒皮软件,可以完整的获取网站基础模版,切记不是全部,隐私位置不可以获取

    扒手工具 网页扒皮

    使用说明: 一.解压了,把msvcr70.dll移到你解压的根目录下就可以了 二.打开webgeter,在图框中输入你需要盗取风格的网站网址,这是会在桌面上产生一个Reaped Sites文件夹 三.从Reaped Sites中文件中找到image、...

    网站模板扒皮者破解版 V2.2.zip

    模板扒皮者 完美照原目录复制一个网站,软件使用简单,绿色,安全无毒! + m' R, F2 F* Q3 S9 X: E如果装有360允许即可,大家都懂的!

    网站模板扒皮者V2.7测试版

    网站模板扒皮者 V2.7_测试版 欢迎下载,感觉用着很不错 最新版!给大家分享 把一个网站单页完整的把所有内容拷贝下载 下载内容有CSS,JS,SWF,xml以及CSS文件内部图片等等! 网站下载后会保存在运行软件目录下,自动...

    网站扒皮软件 spider

    网站扒皮的好用软件 能拔下来部分源码

    网站模板扒皮工具

    网站模板扒皮者,可以从获取别人网站前台模板。有的网站不行,有的可以。

    网站扒皮工具

    看到一些漂亮的网站,扣取网站模板及CSS、js文件等,

Global site tag (gtag.js) - Google Analytics