BAPI学习笔记
BAPI:Business Application Programming Interface.
一,SAP Business Object
????? A, SAP面向?qū)ο蟮募軜?gòu):business component業(yè)務(wù)組件、business object type業(yè)務(wù)對象類型、BAPI
????? B, 業(yè)務(wù)對象類型即SAP系統(tǒng)中的類
????? C, 內(nèi)核層:
????????? 整合層:對象的業(yè)務(wù)邏輯
????????? 接口層:屬性、普通方法、BAPI方法、事件
????????? 外部訪問層:
?????? D, 業(yè)務(wù)對象倉庫 Business Object Repository BOR
?????????? 業(yè)務(wù)對象倉庫瀏覽器:Tcode---SWO3
?????????? 業(yè)務(wù)對象倉庫創(chuàng)建器:Tcode---SWO1
???????E, 一個(gè)業(yè)務(wù)對象類型職能繼承一個(gè)唯一的父類型,一個(gè)對象可以實(shí)現(xiàn)多個(gè)接口
二,業(yè)務(wù)對象類型的組建
?????? A, 接口、關(guān)鍵字段、屬性、方法、事件
?????? B, 四種狀態(tài):modeled、Implemented、released、object
三,SAP BAPI
?????? A, BAPI在業(yè)務(wù)對象類型中的實(shí)現(xiàn)方式是API Function。BAPI實(shí)質(zhì)上是一種特殊的、支持遠(yuǎn)程調(diào)用的業(yè)務(wù)對象方法,并通過遠(yuǎn)程支持的功能模塊實(shí)現(xiàn)。
?????? B, BAPI作為建立在RFC協(xié)議之上的,通過業(yè)務(wù)對象進(jìn)行組織的系統(tǒng)接口,是在業(yè)務(wù)級(jí)別而不是技術(shù)層次定義的。
?????? C, BAPI的查找:?? 從業(yè)務(wù)對象創(chuàng)建器查看BAPI
??????????????????????????????? 通過BAPI瀏覽器查看BAPI Tcode:BAPI
?????? D. BAPI的事務(wù)模型ACID
???????????????完整性(atomic)原則:事務(wù)調(diào)用時(shí),其中所有數(shù)據(jù)庫操作將全部完成或者全部撤銷
???????????????一致性(consistent)原則:如果一次事務(wù)被超過一次的重復(fù)調(diào)用,且每次條用都實(shí)現(xiàn)相同的結(jié)果,那么其賞賜輸入的數(shù)據(jù)不應(yīng)隱性地影響新的調(diào)用結(jié)果
??? 獨(dú)立性(isolated)原則:兩個(gè)事務(wù)不應(yīng)該存在功能上的依賴關(guān)系
持久性(durable)原則
E, 在同一個(gè)LUW中,不能對同一個(gè)業(yè)務(wù)對象實(shí)例進(jìn)行超過一次的重復(fù)操作,在BAPI內(nèi)部數(shù)據(jù)庫更新操作必須通過同步或者異步的更新過程實(shí)現(xiàn),BAPI內(nèi)部不能觸發(fā)新的LUW,也不能包含Call transaction、submit report、submit reprot and return
?????? F, BAPI事務(wù)中的數(shù)據(jù)庫提交和回滾必須通過BAPIServices的BAPI方法BapiServices.TransactionCommit和Bapiservices.Transactionrollback實(shí)現(xiàn)
G, BAPI的功能模塊不包含異常處理參數(shù),其成功調(diào)用或者出錯(cuò)信息通過輸出參數(shù)Return返回。Return參數(shù)可以BAPIRETURN、BAPIRETURN1、BAPIRET1、BAPIRET2等定義
五 業(yè)務(wù)對象的創(chuàng)建和BAPI的創(chuàng)建。
SWO1創(chuàng)建業(yè)務(wù)對象,注意其中狀態(tài)的設(shè)置
BAPI:首先創(chuàng)建RFM,然后再SWO1中可以通過向?qū)?shí)現(xiàn)。在SWO1中BAPI方法顯示為綠色。
總結(jié)
- 上一篇: 《SAP高级应用开发》---Idoc学习
- 下一篇: RFC学习笔记