ABAP Web dynpro弹框

弹框(不需要创建窗口)

点击按钮时触发
在这里插入图片描述
弹框方法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

CHECK_POP代码

METHOD check_pop .
  DATA:lo_window_manager TYPE REF TO if_wd_window_manager,
       lo_api_component  TYPE REF TO if_wd_component,
       lo_window         TYPE REF TO if_wd_window,
       lt_buttons        TYPE wdr_popup_button_list,
       ls_canc_action    TYPE wdr_popup_button_action,
       lv_msg            TYPE string.
  DATA:lo_api_v_main   TYPE REF TO if_wd_view_controller,
       lt_string_table TYPE string_table,
       ls_string       TYPE string,
       lv_title        TYPE string.

  READ TABLE ct_pop_alv INTO DATA(ls_pop_alv) WITH KEY sel = 'X'.
  IF sy-subrc = 0.
    READ TABLE ct_pop_alv WITH KEY sel = ''
                                   bsart = 'ZM08'
                                   werks = ls_pop_alv-werks
                                   ekgrp = ls_pop_alv-ekgrp
                                   waers = ls_pop_alv-waers
                                   zterm = ls_pop_alv-zterm
                                   TRANSPORTING NO FIELDS.
    IF sy-subrc = 0.

      "弹出提示框
      lo_api_component = wd_comp_controller->wd_get_api( ).
      lo_window_manager = lo_api_component->get_window_manager( ).
      ls_string = '系统检查到您正发起的对帐单收货日期区间有退货明细未被勾选,可能导致采购拒绝确认此对帐单,请确认是否继续'.
      APPEND ls_string  TO lt_string_table.

      MESSAGE s304(zsus_msg) INTO lv_title.
      wd_comp_controller->window = lo_window_manager->create_popup_to_confirm(
          text                   = lt_string_table
          button_kind      = if_wd_window=>co_buttons_okcancel
          message_type     = if_wd_window=>co_msg_type_information
          close_button     = abap_true
          window_title     = lv_title
          default_button   = if_wd_window=>co_button_ok
      ).

      lo_api_v_main = wd_this->wd_get_api( ).
      TRY.
          "OK button
          wd_comp_controller->window->popup_to_confirm->subscribe_to_button_event(
              controller         = lo_api_v_main
              handler_name       = 'POPUP_TO_CONFIRM_EVENT_HANDLER'
              button             = if_wd_window=>co_button_ok
          ).
        CATCH cx_wdr_rt_exception.
      ENDTRY.

      TRY.
          "CANCEL button
          wd_comp_controller->window->popup_to_confirm->subscribe_to_button_event(
              controller         = lo_api_v_main
              handler_name       = 'POPUP_TO_CONFIRM_EVENT_HANDLER'
              button             = if_wd_window=>co_button_cancel
          ).
        CATCH cx_wdr_rt_exception.
      ENDTRY.

      "Open the popup window
      wd_comp_controller->window->open( ).

    ELSE.
      wd_this->fire_out_create_plg( ).
    ENDIF.
  ENDIF.
ENDMETHOD.

在这里插入图片描述

POPUP_TO_CONFIRM_EVENT_HANDLER代码

method popup_to_confirm_event_handler.
  CASE wdevent->name.
*    WHEN if_wd_popup_to_confirm_n=>co_popup_button_event-on_yes.
*
*    WHEN if_wd_popup_to_confirm_n=>co_popup_button_event-on_no.
*
*    WHEN if_wd_popup_to_confirm_n=>co_popup_button_event-on_abort.

    WHEN if_wd_popup_to_confirm_n=>co_popup_button_event-on_cancel.

*    WHEN if_wd_popup_to_confirm_n=>co_popup_button_event-on_retry.
*
*    WHEN if_wd_popup_to_confirm_n=>co_popup_button_event-on_ignore.
*
*    WHEN if_wd_popup_to_confirm_n=>co_popup_button_event-on_close.

    WHEN if_wd_popup_to_confirm_n=>co_popup_button_event-on_ok.

       wd_this->fire_out_create_plg( ).

  ENDCASE.
endmethod.

效果

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值