abap 彈出對話方塊函式POPUP_GET_VALUES的使用方法
阿新 • • 發佈:2019-01-08
專案中,經常用到,點選按鈕時彈出一個對話方塊,選擇一些值,然後返回選擇的值,進一步操作,下面是使用彈窗對話方塊函式POPUP_GET_VALUES返回日期的例子,當然後也可以時其他型別的,定義資料元素時,根據需要定義成相應的型別就行了,效果如下圖:
程式碼如下:
DATA: it_value TYPE TABLE OF sval,
wa_value TYPE sval,
CLEAR:it_value,wa_value,lv_rtn_cd.
IF lv_cmd = '1' OR lv_cmd = '2'.
wa_value-tabname = 'ZMMDATE'
wa_value-fieldname = 'BDATE'.
wa_value-value = sy-datum.
APPEND wa_value TO it_value.
wa_value-tabname = 'ZMMDATE'.
wa_value-fieldname = 'EDATE'.
wa_value-value = sy-datum.
APPEND wa_value TO it_value.
ELSE.
wa_value-tabname = 'ZMMDATE'.
wa_value-fieldname = 'JDATE'
wa_value-value = sy-datum.
APPEND wa_value TO it_value.
ENDIF.
CALL FUNCTION 'POPUP_GET_VALUES'
EXPORTING
popup_title = '日期選擇'
IMPORTING
returncode = lv_rtn_cd
TABLES
fields = it_value.
DATA:gt_itab TYPE TABLE OF zputwbsrq_s WITH HEADER LINE.
DATA
DATA:gt_in TYPE TABLE OF zputprrq_s WITH HEADER LINE.
DATA:gt_in1 TYPE TABLE OF zputporq_s WITH HEADER LINE.
DATA:msg1 TYPE TABLE OF zbapiret WITH HEADER LINE.
DATA:gt_in2 TYPE TABLE OF zputplrq_s WITH HEADER LINE.
IF lv_rtn_cd IS INITIAL.
READ TABLE it_value INTO wa_value WITH KEY fieldname = 'BDATE'.
IF sy-subrc = 0.
gt_itab-p_day = wa_value-value.
gt_itab-b_day = wa_value-value.
ENDIF.
ENDIF.