SAP-ABAP-ALV弹出窗口供用户输入,获取输入数据

实现代码如下

DATA LV_STGRD TYPE RF05R-STGRD .
  DATA LV_BUDAT TYPE RF05R-BUDAT .
  DATA LV_MONAT TYPE RF05R-MONAT .
  DATA: it_value  TYPE TABLE OF sval,
        wa_value  TYPE sval,
        lv_rtn_cd.

    wa_value-tabname = BKPF.
    wa_value-fieldname = STGRD.
    wa_value-value = 01.
    APPEND wa_value TO it_value.
    wa_value-tabname = BKPF  .
    wa_value-fieldname = BUDAT.
    wa_value-value = sy-datum   .
    APPEND wa_value TO it_value.
    wa_value-tabname = BKPF.
    wa_value-fieldname = MONAT.
    wa_value-value = sy-datum+4(2).
    APPEND wa_value TO it_value.
    CALL FUNCTION POPUP_GET_VALUES
      EXPORTING
*       NO_VALUE_CHECK  =  
        popup_title     = 冲销数据
*       START_COLUMN    = 5
*       START_ROW       = 5
      IMPORTING
        returncode      = lv_rtn_cd
      TABLES
        fields          = it_value
      EXCEPTIONS
        error_in_fields = 1
        OTHERS          = 2.
    IF sy-subrc = 0.
      LV_STGRD =  it_value[ 1 ]-value   .
      LV_BUDAT =  it_value[ 2 ]-value   .
      LV_MONAT =  it_value[ 3 ]-value   .

参数解释

popup_title :弹窗的标题

fields 表中存储要和用户交互的字段,本例中的三个字段为冲销原因,过账日期,记账期间,每个字段有三个参数分别是tabname:参考表;fieldname:字段名称;value:默认值。要求字段名称必须是参考表中的数据,会自动带出搜索帮助。

START_COLUMN和START_ROW 是弹窗位置

经验分享 程序员 微信小程序 职场和发展