日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

BAPI和BDC使用小结

發(fā)布時間:2023/12/15 综合教程 48 生活家
生活随笔 收集整理的這篇文章主要介紹了 BAPI和BDC使用小结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

在項目上遇到了要同時用BAPI和BDC更新數(shù)據(jù)的情況。開發(fā)的需求如下:
ME22N中
修改采購訂單中物料條目的凈價和每,然后在物料數(shù)據(jù)頁的供應商物料號中記錄舊價格和舊每,同時在EAN/UPC中寫入'ZSJ'。


大部分的更新都可以由BAPI完成,但是EAN/UPC在BAPI中找不到對應的字段,而且客戶不愿意改字段。一開始看到ME22N這種多條目的事務代碼,覺得BDC錄屏沒法做,但是其實是可以做的,只是比較麻煩。
下面一點點總結分享。

BDC部分:

BDC錄屏后,得到的結果基本是沒法直接用的,我是通過錄了很多次屏,然后東拼西湊、修修改改得出來的。

錄屏的操作流程:其他采購訂單->輸入采購訂單號->確定->項目點擊下拉列表選擇行項目->修改EAN/UPC->保存,得到的錄屏結果如下 :

直接錄屏的結果是沒法用的,必須把紅色下劃線的部分去掉,保留反而會出錯。這些是錄屏的時候記錄下來的屏幕上一些字段的值,但在程序操作調用BDC的過程中,你無法知道這些字段的具體值是多少,填不對的話反而會出錯,所以要去掉。

而且在填寫B(tài)DC_FIELD的時候,帶BDC_SUBSCR的部分都可以不填寫,只要填寫一些關于操作和字段賦值的部分就可以了。

BDC調試:

BDC需要調試的話就設置模式MODE為A,這樣就可以觀看前臺是怎么樣一步一步執(zhí)行的,便于發(fā)現(xiàn)錯誤。MODE為E是只有發(fā)生錯誤才轉到前臺,而MODE為N是完全的后臺操作。一般先用A或E確認能執(zhí)行成功后再換成N來執(zhí)行。

BDC代碼:

總結下BDC的適用范圍:

BDC適用于錄制較為單一的操作,并且一般情況下不適用于多條行項目,但是也有例外。在一些特殊的事物代碼中,對于行項目的修改也能是一組比較單一的操作,比如ME22N就是每次選擇下拉列表,然后修改相應的字段。所以有時候BDC錄屏是一件需要業(yè)務顧問、技術顧問一起做、互相配合的事。

BAPI部分:

由于SAP各個表之間的關聯(lián)關系非常復雜,一個前臺操作可能同時更新了N張表,所以ABAP中嚴禁直接更新標準表,這會導致不一致性。而為了保持一致性,需要更新和修改的時候則需要使用BAPI。

BAPI與BDC相比,執(zhí)行速度會快些、效率會高些,而且比較適合用來更新修改多條行項目的數(shù)據(jù)。

BAPI中值得一提的是它的X參數(shù),參數(shù)明后代X后綴的參數(shù)標示了需要更新哪些相應的字段,所以必須對X參數(shù)中需要更新的字段賦值為 X ,否則BAPI并不會更新任何字段。

X參數(shù):

對需要更新的字段賦值:

另外ABAP中能夠支持多個BAPI連續(xù)調用,然后同時COMMIT或是ROLLBACK,以此來保證一致性。只需要再調用完BAPI后再調用BAPI_TRANSACTION_COMMIT或是BAPI_TRANSACTION_ROLLBACK。

值得一提的是BAPI_TRANSACTION_COMMIT的WAIT參數(shù)。注意:BAPI是異步更新的,所以如果不使用WAIT參數(shù)的話,那么它無法保證在執(zhí)行下條語句時BAPI已經(jīng)更新成功,這樣如果連續(xù)兩條語句都是寫操作,有很大可能會造成讀寫沖突,比如:我在BAPI執(zhí)行完后調用BDC,如果不WAIT的話,那么就會有讀寫沖突,BAPI鎖住了一些表或是資源導致BDC無法更新。

總結

以上是生活随笔為你收集整理的BAPI和BDC使用小结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。