ABAP 關於下拉框的一種寫法和關聯螢幕輸入的方法
網上下拉框的教程很多,我用的方法也比較簡單,主要是為了記錄一下自己的學習狀況,實現下拉框如下:
1.設定下拉框
LOOP AT lt_zjwsfh.
CLEAR:lt_vlist,lt_vlist2.
CONCATENATE lt_zjwsfh-zdm lt_zjwsfh-zjwsfh "add by PAB014 20180914
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.