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.      

猜你喜欢

转载自blog.csdn.net/yiyuzz/article/details/82775559
今日推荐