SAP选择屏幕中实现三级联动下拉框效果
生活随笔
收集整理的這篇文章主要介紹了
SAP选择屏幕中实现三级联动下拉框效果
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
TYPE-POOLS:VRM.
DATA: NAME TYPE VRM_ID.
DATA:NUM TYPE I. "根據PRODH字段長度判斷 某行屬于哪一級
DATA:LOADED TYPE C LENGTH 1."控制不重復查詢數據庫和不反復append數據 to WA1[]TYPES: BEGIN OF WA,KEY(40),TEXT(80) TYPE C,END OF WA.
DATA:GT LIKE T179T OCCURS 0 WITH HEADER LINE.
DATA:WA1 TYPE TABLE OF WA WITH HEADER LINE."111
DATA:WA2 TYPE TABLE OF WA WITH HEADER LINE. "111222
DATA:WA3 TYPE TABLE OF WA WITH HEADER LINE. "111222333DATA:ITAB LIKE T179T OCCURS 0 WITH HEADER LINE.
DATA: PS_T(15) TYPE C.
SELECTION-SCREEN BEGIN OF BLOCK T1 WITH FRAME TITLE TEXT-001.SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) TEXT-003.
PARAMETERS: PL1 LIKE PS_T AS LISTBOX VISIBLE LENGTH 15 USER-COMMAND P1.
"一級類
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 1.SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) TEXT-004.
PARAMETERS: PL2 LIKE PS_T AS LISTBOX VISIBLE LENGTH 15 USER-COMMAND P2.
"二級類
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP 1.SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(31) TEXT-005.
PARAMETERS: PL3 LIKE PS_T AS LISTBOX VISIBLE LENGTH 15.
"三級類
SELECTION-SCREEN END OF LINE.SELECTION-SCREEN END OF BLOCK T1.INITIALIZATION.AT SELECTION-SCREEN OUTPUT.NAME = 'PL1'.IF LOADED IS INITIAL.SELECT * FROM T179T INTO TABLE GT WHERE SPRAS = 1.LOADED = 'X'.LOOP AT GT.NUM = STRLEN( GT-PRODH ).IF NUM = 5.WA1-TEXT = GT-VTEXT."DescriptionWA1-KEY = GT-PRODH."Product hierarchy key fieldAPPEND: WA1.ENDIF.CLEAR: GT,NUM,WA1."CLEAR 清空WA1工作區,不清空WA1[]內表ENDLOOP.ENDIF.CALL FUNCTION 'VRM_SET_VALUES'EXPORTINGID = NAMEVALUES = WA1[].AT SELECTION-SCREEN.CASE SY-UCOMM.WHEN 'P1'.CLEAR: PL2,PL3."清空2、3級下拉空默認值,當用戶在選擇屏幕上重新選擇時需要清除CLEAR:WA2,WA2[]."清空2級下拉內表對應的值,當用戶在選擇屏幕上重新選擇時需要清除CLEAR NUM.LOOP AT GT .NUM = STRLEN( GT-PRODH ).IF NUM = 10 AND GT-PRODH+0(5) = PL1.WA2-TEXT = GT-VTEXT.WA2-KEY = GT-PRODH.APPEND: WA2.ENDIF.CLEAR:GT,NUM,WA2.ENDLOOP.CALL FUNCTION 'VRM_SET_VALUES'EXPORTINGID = 'PL2'VALUES = WA2[].CLEAR PL2.WHEN 'P2'.CLEAR PL3."清空3級下拉空默認值,當用戶在選擇屏幕上重新選擇時需要清除CLEAR:WA3,WA3[]."清空3級下拉內表對應的值,當用戶在選擇屏幕上重新選擇時需要清除CLEAR NUM.LOOP AT GT .NUM = STRLEN( GT-PRODH ).IF NUM = 18 AND GT-PRODH+0(10) = PL2.WA3-TEXT = GT-VTEXT.WA3-KEY = GT-PRODH.APPEND: WA3.ENDIF.CLEAR:GT,NUM,WA3.ENDLOOP.CALL FUNCTION 'VRM_SET_VALUES'EXPORTINGID = 'PL3'VALUES = WA3[].CLEAR PL3.ENDCASE.
總結
以上是生活随笔為你收集整理的SAP选择屏幕中实现三级联动下拉框效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ABAP开发中常用的两个F4搜索帮助函数
- 下一篇: [三代] 获取BADI对象的两种方法