이 문서는 웹딘프로아밥에서 파라미터를 전달하며 티코드를 호출하는 방법에 대해서 설명하고 있습니다.

 

예제를 통해서 판매 오더 변경 티코드 VA02를 호출하겠습니다. 웹딘프로아밥 어플리케이션에서 판매 오더 번호를 가져와서 파라미터로 넘깁니다. 그리고 VA02 티코드의 초기화면을 건너띄고 변경화면으로 직접 이동하도록 합니다.

 

  • 웹딘프로 컴포넌트를 생성합니다.
  • 메인 뷰에서 판매 오더 번호를 입력할 입력 필드를 하나 만들고 티코드를 호출할 버튼을 하나 만듭니다.
  • 판매 오더 번호를 넘겨서 티코드를 호출할 버튼에 이벤트를 만듭니다.Untitled.png
  • 버튼 이벤트에 아래 코드를 입력합니다:

Untitled.png

METHOD onactionon_edit .

DATA lo_el_context            TYPE REF TO if_wd_context_element.
DATA ls_context                TYPE               wd_this->element_context.
DATA lv_vbeln                   LIKE                ls_context–vbeln.

DATA lo_window_manager TYPE REF TO if_wd_window_manager.
DATA lo_api_component    TYPE REF TO if_wd_component.
DATA lo_window               TYPE REF TO if_wd_window.

DATA lv_url                       TYPE        string.
DATA lv_host                    TYPE        string.
DATA lv_port                     TYPE string.

lo_el_context = wd_context->get_element(  ).

lo_api_component = wd_comp_controller->wd_get_api( ).
lo_window_manager = lo_api_component->get_window_manager( ).

lo_el_context->get_attribute(
EXPORTING
name =  `VBELN`
IMPORTING
value = lv_vbeln ).

* Call below method to get host and port

CLEAR : lv_host , lv_port.

cl_http_server=>if_http_server~get_location(
IMPORTING
host = lv_host
port = lv_port ).

* Creating URL

CONCATENATE       'http'
'://'
lv_host
':'
lv_port
'/sap/bc/gui/sap/its/webgui/?sap-client=&~transaction=*VA02%20VBAK-VBELN='
lv_vbeln
';DYNP_OKCODE=/00'
INTO lv_url.

*  calling the url which we created above as a popup

lo_window_manager->create_external_window(
EXPORTING
url = lv_url
RECEIVING
window = lo_window ).

lo_window->open( ).

ENDMETHOD.

 

 

  • 실행하기 위해 웹딘프로아밥 어플리케이션을 만듭니다. 지금까지 개발한 것을 모두 활성화 시킨후 어플리케이션을 실행합니다. 판매 오더 번호를 입력하고 edit 버튼을 누르면 판매 오더 변경 화면이 웹브라우저 새창으로 뜹니다. 판매 오더 번호가 파라미터로 전달되고 초기화면은 건너띄고 변경화면으로 이동하였습니다.

Untitled.png

Untitled.png

 

– Gowtham