网上下拉框的教程很多,我用的方法也比较简单,主要是为了记录一下自己的学习状况,实现下拉框如下:
1.设置下拉框
LOOP AT lt_zjwsfh.
CLEAR:lt_vlist,lt_vlist2.
CONCATENATE lt_zjwsfh-zdm lt_zjwsfh-zjwsfh
INTO lt_zjwsfh-zjwsfh SEPARATED BY SPACE.
lt_vlist-key = lt_zjwsfh-zjwsfh.
APPEND lt_vlist.
lt_vlist2-key = lt_zjwsfh-zaeon.
APPEND lt_vlist2.
ENDLOOP.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'Z10TIEBCKBGD_HD-ZJWSFH'
values = lt_vlist[]
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
id = 'Z10TIEBCKBGD_HD-ZAEON'
values = lt_vlist2[]
EXCEPTIONS
id_illegal_name = 1
OTHERS = 2.
2.关联屏幕输入
假如你要选择字段1,关联字段2,那么在这里选择字段1设置字段检查,红色标注部分为字段2.
MODULE get_zaeon INPUT.
DATA: lv_zdm TYPE z10tiebjwsfh-zdm.
DATA: lv_zjwsfh LIKE z10tiebjwsfh-zjwsfh.
SPLIT z10tiebckbgd_hd-zjwsfh AT space INTO lv_zdm lv_zjwsfh.
"CONDENSE lv_zjwsfh NO-GAPS.
IF lv_zjwsfh IS NOT INITIAL.
SELECT SINGLE zaeon FROM z10tiebjwsfh
INTO (z10tiebckbgd_hd-zaeon)
WHERE zjwsfh = lv_zjwsfh
AND zdm = lv_zdm.
IF sy-subrc <> 0.
CONCATENATE lv_zdm 'HE' lv_zjwsfh INTO lv_zjwsfh.
MESSAGE S001(00) WITH lv_zjwsfh DISPLAY LIKE 'E'.
ENDIF.
ENDIF.
ENDMODULE.