定义对话框

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.

 

 
posted @ 2017-10-25 22:24  斌将军  阅读(319)  评论(0)    收藏  举报