SAP选择屏幕中实现三级联动下拉框效果
来源:互联网 发布:淘宝开店时长查询 编辑:程序博客网 时间:2024/06/18 17:50
REPORT TEST.
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. "111222333
DATA: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.
gt-prodh = '00001'.
gt-vtext = '服务器'.
append gt.
clear gt.
gt-prodh = '0000100001'.
gt-vtext = '服务器00001'.
append gt.
clear gt.
gt-prodh = '000010000100000001'.
gt-vtext = '服务器0000100000001'.
append gt.
clear gt.
gt-prodh = '000010000100000002'.
gt-vtext = '服务器0000100000002'.
append gt.
clear gt.
gt-prodh = '00002'.
gt-vtext = 'PC'.
append gt.
clear gt.
gt-prodh = '0000200001'.
gt-vtext = 'PC0000200001'.
append gt.
clear gt.
gt-prodh = '000020000100000001'.
gt-vtext = 'PC000020000100000001'.
append gt.
clear gt.
gt-prodh = '000020000100000002'.
gt-vtext = 'PC000020000100000002'.
append gt.
clear gt.
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.
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. "111222333
DATA: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.
gt-prodh = '00001'.
gt-vtext = '服务器'.
append gt.
clear gt.
gt-prodh = '0000100001'.
gt-vtext = '服务器00001'.
append gt.
clear gt.
gt-prodh = '000010000100000001'.
gt-vtext = '服务器0000100000001'.
append gt.
clear gt.
gt-prodh = '000010000100000002'.
gt-vtext = '服务器0000100000002'.
append gt.
clear gt.
gt-prodh = '00002'.
gt-vtext = 'PC'.
append gt.
clear gt.
gt-prodh = '0000200001'.
gt-vtext = 'PC0000200001'.
append gt.
clear gt.
gt-prodh = '000020000100000001'.
gt-vtext = 'PC000020000100000001'.
append gt.
clear gt.
gt-prodh = '000020000100000002'.
gt-vtext = 'PC000020000100000002'.
append gt.
clear gt.
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.
阅读全文
0 0
- SAP选择屏幕中实现三级联动下拉框效果
- SAP选择屏幕中实现三级联动下拉框效果
- 选择屏幕联动下拉框
- js中实现三级联动效果
- Ajax实现三级联动下拉框
- Ajax实现三级联动下拉框
- dwr实现三级联动下拉框
- Ajax实现三级联动下拉框
- Ajax技术实现三级联动下拉框
- ajax+jsp实现三级联动下拉框
- Ajax实现三级联动下拉框
- 纯JSP+DWR实现三级联动下拉选择菜单
- 纯JSP+DWR实现三级联动下拉选择菜单
- 下拉框三级联动
- 三级联动下拉框
- 下拉框三级联动
- 三级联动下拉框
- 【JS插件】下拉框通用三级联动选择 省市区三级联动选择
- firefox调试页面查找方法(随笔)
- SQL中 decode()函数
- 手机h5布局(二)适配
- opkg
- linux下进程间通信(2)
- SAP选择屏幕中实现三级联动下拉框效果
- [数据结构]单链表C语言的简单实现
- 单链表的基本操作(读插删)
- StringUrl2Bitmap
- js中字符串的方法(上)
- 逻辑回归(Logistic Regression)
- 表示数值的字符串(字符串)
- 单点登录(二)----实战------简单搭建CAS---测试认证方式搭建CAS
- spring使用aop时需要设置proxy-target-class="true" 否则无法依赖注入