BAPI

mmccking發表於2007-07-20
BAPA介紹[@more@]

bapi和rfc不是同一個層次上概念,不能說從字面上看到bapi函式和rfc函式就認為他們之間有必然的聯絡和區別。打個比如,問一個問題:人可以分為哪幾類,答曰:男人和老人,呵~~,大家都知道,男人是基於性別來說的,老人是基於年齡的。bapi是sap提供的基於業務物件的函式,關鍵是它們處理的物件是r/3的業務相關businessobject),比如單據類銷售訂單,組織:公司等,它們是一系列實體。rfc則是一種系統間通訊的方式(remotefuncitoncall),一個男人可能同時也是一個老人,一個bapi函式往往能是一個rfc函式(我不知道是不是所有bapi都可以有基於rfc技術來呼叫,但是至少也可以說大部分吧,vb裡面用bapi,就是因為這個bapi函式具有rfc的特性)

bapi是個sap裡一個很好的思想,把業務物件都物件化了。剛學abap/4時,並不能理解sap所說”abap/4”中的‘4’,而覺得它更像是一種指令碼語言,頂多也就是和c一樣,但是自從我接觸了bapi之後,我才體會到sap說abap是種4g語言的確不虛。當在外部呼叫bapi的時候,比如vb,就可以把sap裡的諸如訂單,物料,員工,工廠等作為一個物件來處理,而且這種處理又是那麼的簡單,可能只要幾句程式碼就可以了,最關鍵就是:1.收集bapi函式所要的資料,也就是bapi輸入引數,vb也好,sap本身的screen也好,甚至web頁面也好,只不過是一個資料收集器!(要作一些必要的資料檢查保證它們是正確的,不過即使不正確也沒有關係,bapi會返回錯誤資訊)收集完成了,就送給bapi作為引數,剩下的事都是bapi給做了,你就不用管了!2.接收bapi返回的資訊,也就是bapi輸出引數,並把它們“翻譯”成恰當的形式給表達給使用者。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8356764/viewspace-927278/,如需轉載,請註明出處,否則將追究法律責任。