在选择屏幕的开发过程中,常用到自定义的搜索帮助,有些情况下需要更新不止一个字段
以下代码提供一种实现方法(会计年度和期间的同时更新)
FORM frm_year_help .
DATA:lv_month TYPE isellist-month.
data: lt_fields like dynpread occurs 0 with header line.
data: lv_dyname like sy-repid.
data: lv_dynumb like sy-dynnr.
lv_dyname = sy-repid.
lv_dynumb = sy-dynnr.
CALL FUNCTION 'POPUP_TO_SELECT_MONTH'
EXPORTING
actual_month = sy-datum+0(6)
" factory_calendar = 'TH'
" holiday_calendar = 'TH'
language = sy-langu
* START_COLUMN = 8
* START_ROW = 5
IMPORTING
selected_month = lv_month
.
lt_fields-fieldname = 'P_YEAR'."选择屏幕元素名
lt_fields-fieldvalue = lv_month+0(4).
append lt_fields.
lt_fields-fieldname = 'P_MONTH'."选择屏幕元素名
lt_fields-fieldvalue = lv_month+4(2).
append lt_fields.
call function 'DYNP_VALUES_UPDATE'
exporting
dyname = lv_dyname
dynumb = lv_dynumb
tables
dynpfields = lt_fields
exceptions
others = 8.
ENDFORM.