`
moonfly2004
  • 浏览: 56992 次
  • 性别: 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

分享到:
评论

相关推荐

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

    1. **西西软件园.txt**: 这可能是一个包含关于软件介绍、使用方法或下载链接的文本文件。用户可以通过阅读此文件了解软件的具体信息和操作步骤。 2. **西西软件园.url**: 这是一种快捷方式文件,通常指向一个网页...

    网站模板扒皮者

    网站模板扒皮者是一款工具,主要用于快速获取并提取网页模板中的设计元素,如CSS样式表、JavaScript文件等,使得用户可以便捷地学习和利用这些模板进行自己的网站开发工作。这款工具能够帮助开发者节省时间,避免...

    网页扒皮机-GGCMS

    它提供了网站的基本布局和设计元素,使得开发者可以基于已有的框架快速构建出符合需求的网页。GGCMS的网页扒皮机则将这一过程自动化,极大地提高了工作效率。 首先,我们来了解一下网页扒皮机的工作原理。它通过...

    html专业扒皮工具

    10. **安全使用**:在使用扒皮工具时,应注意尊重他人的版权,避免非法使用扒取的代码,遵守网络道德和法律法规。 总结来说,"HTML专业扒皮工具"是一个强大的辅助工具,它简化了HTML页面分析和学习的过程,让开发者...

    网页扒皮者

    在实际使用中,用户需要根据自己的需求配置扒皮者,设置好抓取规则和目标,然后让工具自动执行。对于初学者,使用带有预设模板的扒皮者会更加友好,因为它们减少了手动编码的需求。而进阶用户则可能需要编写自定义...

    网站模版扒皮工作者

    - **遵循道德规范**:扒皮只应用于学习和自我提升,避免恶意模仿或侵犯他人知识产权。 网站模板扒皮者 V2.6.exe可能是该软件的最新版本,用户在使用前应确保其安全性和兼容性,避免下载来源不明的软件,以防病毒或...

    网站扒皮工具

    1. **模板扒皮者使用说明以及问题解决方案.doc**:这是一个文档,详细介绍了如何使用这个工具,以及可能遇到的问题和解决方法。用户应仔细阅读此文档以正确理解和操作工具,避免错误和困惑。 2. **网站模板扒皮者 V...

    网站扒皮者

    "网站扒皮者"是一种工具或技术,用于抓取网页上的内容,包括CSS(层叠样式表)和JavaScript脚本,这些元素对于构建和呈现网页的视觉效果和交互功能至关重要。这种行为通常被称为网页抓取或网络爬虫,是数据分析、...

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

    使用这类工具的用户可能需要教程和帮助文档来指导操作,软件提供者通常会提供详细的操作指南、常见问题解答以及技术支持,帮助用户解决问题,提高使用效率。 9. **安全性与合法性**: 在使用此类工具时,用户需要...

    一种木材扒皮机用固定装置的制作方法.docx

    为了解决这些问题,本文将详细介绍一种创新设计的木材扒皮机用固定装置的制作方法。 本实用新型的木材扒皮机用固定装置突破了传统技术的局限,通过一系列精心设计的组件,不仅提高了扒皮的均匀性和效率,还实现了...

    网站扒皮软件 spider

    关于“仿站”,这是一种快速建立新网站的方法,通过模仿现有网站的设计和功能。仿站不光是简单的外观复制,还需要理解并实现其交互逻辑。使用网站扒皮软件,可以简化这一过程,但同样需要注意不要侵犯原网站的知识...

    扒手工具 网页扒皮

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

    网站模板扒皮工具

    在IT行业中,这种工具的应用有其独特的价值和需要注意的法律问题。 首先,我们要理解什么是网站模板。网站模板是预先设计好的网页布局,包括色彩搭配、版式结构、图片和文字样式等元素,它为创建网站提供了一个快速...

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

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

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

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

Global site tag (gtag.js) - Google Analytics