아래 첨부파일은 SAPLINK 프로그램을 이용하여 Import Slinkee 하면 볼 수 있습니다.

WDYA_YDBLIM_TEST_POPUP.zip
다운로드

 

 

 


애플리케이션은 두개 입니다.

1. 본 창닫기 테스트


2. 내부 팝업 닫기 테스트



본 창 닫기를 위한 작업입니다. (내부 팝업엔 필요없음)
윈도우에 아웃바운드 플러그를 하나 만들고 타입은 Exit 으로하고 파라미터 CLOSE_WINDOW를 추가합니다.




닫는 로직은 이렇습니다.

METHOD close_popup .
* 하나의 메소드로 통합된 창닫기.
* 이 로직으로 내부 팝업, 본 창 무엇으로 사용되더라도 닫을 수 있다.

  DATA lo_api_view TYPE REF TO if_wd_view_controller.
   lo_api_view = wd_this->wd_get_api( ).

  DATA lo_api_window TYPE REF TO if_wd_window_controller.
   lo_api_window = lo_api_view->get_embedding_window_ctlr( ).

* lo_window 는 내부 팝업인 경우에 값이 있다.
  DATA: lo_window TYPE REF TO if_wd_window.
   lo_window = lo_api_window->get_window( ).

  IF lo_window IS BOUND.
* 내부 팝업 닫기
    lo_window->close( ).
  ELSE.
* 본 창은 lo_window가 없으므로 윈도우의 outbound plug를 호출하여 창을 닫는다.
* wd_this->fire_close_plg( close_window = abap_true ).

    DATA: lt_param TYPE wdr_event_parameter_list,
     ls_param LIKE LINE OF lt_param.

    ls_param-name = 'CLOSE_WINDOW'.
    GET REFERENCE OF abap_true INTO ls_param-value.
    INSERT ls_param INTO TABLE lt_param.

    lo_api_window->fire_plug(
      EXPORTING
        parameters = lt_param " Parameter of Outbound Plug
         plug_name = 'CLOSE' " Web Dynpro: Runtime Structure of In/Outbound Plugs
    ).
  ENDIF.

ENDMETHOD.

+ Recent posts