博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SAP选择屏幕中实现三级联动下拉框效果
阅读量:2035 次
发布时间:2019-04-28

本文共 2666 字,大约阅读时间需要 8 分钟。

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."111DATA:WA2 TYPE TABLE OF WA WITH HEADER LINE.                 "111222DATA: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."Description      WA1-KEY   = GT-PRODH."Product hierarchy   key field      APPEND: WA1.    ENDIF.    CLEAR: GT,NUM,WA1."CLEAR 清空WA1工作区,不清空WA1[]内表  ENDLOOP.  ENDIF.  CALL FUNCTION 'VRM_SET_VALUES'    EXPORTING      ID     = NAME      VALUES = 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'        EXPORTING          ID     = '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'        EXPORTING          ID     = 'PL3'          VALUES = WA3[].      CLEAR PL3.  ENDCASE.

你可能感兴趣的文章
09.软件项目管理与敏捷方法——人力资源管理笔记
查看>>
17.软件项目管理与加敏捷方法——常见错误笔记
查看>>
15.软件项目管理与敏捷方法——项目管理办公室如何支持敏捷方法
查看>>
00.敏捷回顾——引言笔记
查看>>
python学习手册笔记——20.迭代和解析
查看>>
python学习手册笔记——30.类的设计
查看>>
Big Analytice with Cassandra
查看>>
spring多个AOP执行先后顺序(面试问题:怎么控制多个aop的执行循序)
查看>>
leetcode 之 Single Number II
查看>>
关于AOP无法切入同类调用方法的问题
查看>>
Post with HttpClient4
查看>>
缓存兼容性
查看>>
Hessian序列化
查看>>
Thread的中断机制(interrupt)
查看>>
[LeetCode] 268. Missing Number ☆(丢失的数字)
查看>>
http1.0 1.1 2.0区别
查看>>
spring bean生命周期
查看>>
学习成长之路
查看>>
从线程模型的角度看Netty的高性能
查看>>
二叉树遍历(前序、中序、后序、层次、深度优先、广度优先遍历)
查看>>