1. 程式人生 > >ABAP選擇螢幕關聯搜尋幫助

ABAP選擇螢幕關聯搜尋幫助

在選擇螢幕的開發過程中,常用到自定義的搜尋幫助,有些情況下需要更新不止一個欄位

以下程式碼提供一種實現方法(會計年度和期間的同時更新)

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.