程式:MV45AFZZ
下面以建立銷售訂單(VA01)内的一代增強為例,當選擇某些指定的銷售訂單的類型時,PO NUMBER變成必輸項。。
介紹
SAP的一代增強我稱之為USER EXIT(使用者出口),從字面上也很好了解,就是SAP在标準的程式中有預留了一些給使用者後續增加新功能的出口USER EXIT。我們就在這些地方寫代碼來實作我們需要的功能。如下圖,一代在程式中是以CALL CUSTOMER-FUNCTION+編号差別的。

學習的步驟:
首先要使PO NUMBER變為必輸項,必須要知道要在什麼地方寫增強,這就是寫一代增強的第一步也是最難的一部。這裡通過SPRO(背景配置)來找,在下圖使用者出口下的那些就是有可能是我們要寫增強的地方了。
根據描述找到我們需要些代碼的程式名MV45AFZZ
在USEREXIT_SAVE_DOCUMENT_PREPARE(通過名字也可以看出是儲存前的操作)内寫代碼
需要注意的是,寫增強的時候最好是先加上類似上圖的第一個IF語句,這樣的話隻有開發人員自己才會觸發這個增強,其他的員工進行這個操作時并不會受到影響。這樣不會導緻自己在寫這個增強的時候别人用不了這個程式或者相應的事務碼。
學習心得:一代增強現在用的很少了,因為他的需求隻能在固定的程式内去實作,意味着開發人員的工作量會很大,而且局限性也很大。比如說它隻支援系統的标準的程式。有些需求如果系統開發人員本身也沒考慮到的話也沒法實作。
容易的地方: 寫代碼的邏輯、流程完全和寫普通的程式類似。
難點:找增強點困難。
作者:ChasingWithWind
來源:CSDN
原文:
https://blog.csdn.net/huanglin6/article/details/81353657版權聲明:本文為部落客原創文章,轉載請附上博文連結!