目标:点击编辑按钮,弹出一个可输入的窗口。
例如给一个订单修改发货地点,代码如下:
FORM popscreen.
DATA: LO_LGORT TYPE LGORT_D,
LO_WERKS TYPE WERKS_EXT.
DATA: it_value TYPE TABLE OF sval,
wa_value TYPE sval,
lv_rtn_cd.
wa_value-tabname = 'VBAP'. "用到的表
wa_value-fieldname = 'LGORT'. "要修改的字段
wa_value-fieldtext = '发货地'.
APPEND wa_value TO it_value.
wa_value-tabname = 'VBAP'.
wa_value-fieldname = 'WERKS'.
wa_value-fieldtext = '工厂'.
APPEND wa_value TO it_value.
CALL FUNCTION 'POPUP_GET_VALUES' "调用函数
EXPORTING
popup_title = '发货地点和工厂修改' "弹框的表头
IMPORTING
returncode = lv_rtn_cd
TABLES
fields = it_value
EXCEPTIONS
error_in_fields = 1
OTHERS = 2.
IF lv_rtn_cd IS NOT INITIAL.
MESSAGE '操作已取消' TYPE 'S'.
RETURN.
ENDIF.
IF sy-subrc = 0.
LO_LGORT = it_value[ 1 ]-value.
LO_WERKS = it_value[ 2 ]-value.
ENDIF.
ENDFORM.
弹出的窗口效果如下: