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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

供应商主数据屏幕增强

發布時間:2025/3/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 供应商主数据屏幕增强 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景:給供應商主數據增加分個按鈕,實現自定義的其他的客制化數據如下截圖,需要的BADI增強:

VENDOR_ADD_DATA_CS 和??VENDOR_ADD_DATA

?步驟如下:

1.在LFA1增加 zlfa1的結構

?2、進入事務代碼SPRO,在中文環境下按照路徑,后勤-常規->業務合作伙伴->供應商->控制->客戶所有的主數據字段的采用,選擇第一步“準備供應商主記錄的自由修改增強“,添加一條記錄到視圖V_TSCGR_VENDOR中:

?創建一個新的頁簽功能碼

?3.進入到SE19?????VENDOR_ADD_DATA??創建實施

?找到如下的方法

?添加激活的屏幕組

?

method IF_EX_VENDOR_ADD_DATA~CHECK_ADD_ON_ACTIVE.
? CHECK i_screen_group = 'ZV'.
? e_add_on_active = 'X'.
endmethod.
?4、接下來繼續SE18實現BADI vendor_add_data_cs ,這個才是這個屏幕增強的主體部分,和傳統的屏幕增強方式不同(傳統的屏幕增強例如采購訂單的增強MM06E005),這里只提供了幾個接口,真正的邏輯需要自己完全建立一個新的function group(這個function group和那些以X開頭的增強函數組例如XM06是不一樣的),將這些接口的參數對應的在函數組里面定義成一些全局變量,然后進行處理。

5.創建VENDOR_ADD_DATA_CS的實施,并且選擇filter = ‘ZV’,先激活

?6.這時,需要我們創建的一個函數組來實現自定義屏幕的展示

?7.創建一個屏幕,然后在屏幕創建自己定義的屏幕上的數據展示

?8.給增強的方法添加要展示的屏幕信息

?9.在實現SET_DATA這個方法之前,我們要先建立一個函數,用于調用傳值:ZE_VENDOR_DATA_READ

? CLEAR:g_activity,ls_lfa1,ls_zlfa1_fl.
? g_activity = i_activity. ? "A–>DISPLAY;h–>CREATE;V–>CHANGE
* ?lfa1-licensecate = i_tm_lfa1-licensecate. ?"新件保修條款
* ?lfa1-cashway = i_tm_lfa1-cashway. ?"修后索賠條款
* ?lfa1-companytype = i_tm_lfa1-companytype. ?"Vendor Code
?
? MOVE-CORRESPONDING i_tm_lfa1 TO ls_lfa1.
?
? SELECT SINGLE * FROM zlfa1_fl INTO ls_zlfa1_fl WHERE lifnr = i_lifnr.
?
? SELECT * FROM zlfa1_fl INTO CORRESPONDING FIELDS OF TABLE it_fl WHERE lifnr = i_lifnr.
? LOOP AT it_fl.
? ? SELECT SINGLE zzgysdlx FROM zgysdl INTO it_fl-zzgysdl_txt WHERE zzgysdl = it_fl-zzgysdl.
? ? SELECT SINGLE zzgysxlx FROM zgysxl INTO it_fl-zzgysxl_txt WHERE zzgysxl = it_fl-zzgysxl.
? ? MODIFY it_fl.
? ENDLOOP.
? l_lifnr = i_lifnr.


data:g_ucomm type sy-ucomm.
DATA:g_activity TYPE aktyp.
*data:lfa1 type table of lfa1 with header line.
DATA:ls_zlfa1_fl TYPE zlfa1_fl,
? ? ?ls_lfa1 TYPE lfa1.
data:l_lifnr type lifnr.
DATA:BEGIN OF it_fl OCCURS 0.
? ? ? ? INCLUDE STRUCTURE zlfa1_fl.
DATA:zzgysdl_txt(30),
? ? ?zzgysxl_txt(30),
? ? ?box(1).
DATA:END OF it_fl.
10.最后我們還需要控制屏幕的輸入邏輯,這需要我們在PBO里面實現處理:

?具體的增強的屏幕里面的程序代碼(table control 和部分的PBO和PAI)就不粘貼了

?11.到方法中寫代碼

? data:i_tm type zlfa1.
?
? move-corresponding i_lfa1 to i_tm.
?
? if flt_val = 'ZV'.
? ? CALL FUNCTION 'ZE_VENDOR_DATA_READ'
? ? ? EXPORTING
? ? ? ? I_ACTIVITY = i_activity
? ? ? ? I_TM_LFA1 ?= i_tm
? ? ? ? i_lifnr ? ?= i_lfa1-lifnr.
? endif.
?12.在實現GET_DATA這個方法之前,我們亦需先創建如下這個函數:ZE_VENDOR_DATA_SAVE

? DATA:wa_fl LIKE zlfa1_fl.
? MOVE-CORRESPONDING ls_lfa1 TO e_tm.
?
? DELETE FROM zlfa1_fl WHERE lifnr = i_lifnr.
? MODIFY zlfa1_fl FROM TABLE it_fl.
?13.接下來,實現接口中的GET_DATA方法:

? data:e_tm type zlfa1.
? if flt_val = 'ZV'.
? ? CALL FUNCTION 'ZE_VENDOR_DATA_SAVE'
? ? ? EXPORTING
? ? ? ? i_lifnr = s_lfa1-lifnr
? ? ? IMPORTING
? ? ? ? E_TM ? ?= e_tm.
?
? ? move-corresponding e_tm to s_lfa1.
?
? endif.
將上述的過程全部激活,就OK了

?

總結

以上是生活随笔為你收集整理的供应商主数据屏幕增强的全部內容,希望文章能夠幫你解決所遇到的問題。

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