定义对话框
1、是否确认框
效果:
代码:
DATA:lv_answer TYPE char1. "调用对话框 PERFORM frm_open_confirm USING '是否删除' CHANGING lv_answer. IF lv_answer = '1'."是:删除 ELSEIF lv_answer = '2'. MESSAGE s011 DISPLAY LIKE 'E'."用户取消操作 RETURN. ELSE. MESSAGE s009 DISPLAY LIKE 'E' WITH '调用对话框'."调用对话框失败 RETURN. ENDIF. *&---------------------------------------------------------------------* *& Form FRM_OPEN_CONFIRM *&---------------------------------------------------------------------* * text 打开对话框 *----------------------------------------------------------------------* FORM frm_open_confirm USING p_question CHANGING p_answer TYPE char1. CALL FUNCTION 'POPUP_TO_CONFIRM' EXPORTING * TITLEBAR = ' ' * DIAGNOSE_OBJECT = ' ' text_question = p_question text_button_1 = '是' * ICON_BUTTON_1 = ' ' text_button_2 = '否' * ICON_BUTTON_2 = ' ' * DEFAULT_BUTTON = '1' display_cancel_button = '' * USERDEFINED_F1_HELP = ' ' * START_COLUMN = 25 * START_ROW = 6 * POPUP_TYPE = * IV_QUICKINFO_BUTTON_1 = ' ' * IV_QUICKINFO_BUTTON_2 = ' ' IMPORTING answer = p_answer * TABLES * PARAMETER = EXCEPTIONS text_not_found = 1 OTHERS = 2. IF sy-subrc <> 0. p_answer = '4'."出错 ENDIF. ENDFORM.
2、可输入对话框
效果:
代码:
DATA: lt_value TYPE TABLE OF sval, ls_value TYPE sval, lv_rtn. DATA:lv_budat TYPE bkpf-budat. "定义对话框 lt_value = VALUE #( ( tabname = 'BKPF' fieldname = 'BUDAT' value = sy-datum fieldtext = '过帐日期' field_obl = 'X' ) ). CALL FUNCTION 'POPUP_GET_VALUES' EXPORTING popup_title = '凭证入账信息' IMPORTING returncode = lv_rtn TABLES fields = lt_value. IF lv_rtn IS INITIAL."确认为空,取消为A CLEAR:ls_value. READ TABLE lt_value INTO ls_value WITH KEY fieldname = 'BUDAT'. lv_budat = ls_value-value."过帐日期 ELSE. MESSAGE s011 DISPLAY LIKE 'E'."用户取消操作 RETURN. ENDIF.