boy0

[번역] 웹딘프로아밥에서 티코드(web GUI) 호출하는 방법

ABAP/Web Dynpro ABAP(WDA)

[번역] 웹딘프로아밥에서 티코드(web GUI) 호출하는 방법

Derby 2016. 12. 2. 11:14

이글은 아래 링크의 원본 글에 대한 한글 번역 입니다
https://blogs.sap.com/2015/04/03/calling-tcode-from-web-dynpro-abap-and-passing-the-values-to-it/

 

Calling Tcode from Web Dynpro ABAP and passing the values to it.

April 3, 2015 

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

 

예제를 통해서 판매 오더 변경 티코드 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

 

번역자의 추가설명:
web GUI 라고 부르는 SAP GUI for HTML 을 실행하는 것입니다.
URL 주소는 /sap/bc/gui/sap/its/webgui 입니다.
URL 파라미터로 transaction=*VA02 식으로 *티코드를 입력하는 방식입니다.
뒤에 VBAK-VBELN 이 부분은 VA02 티코드에서 화면필드 이름이고 F1 기술정보로 찾을 수 있습니다. (또는 BDC 레코딩을 해도 알 수 있습니다.)
다른 티코드도 이런식으로 화면필드를 알면 값을 전달 할 수 있습니다.

 

이글은 아래 링크의 원본 글에 대한 한글 번역 입니다
https://blogs.sap.com/2015/04/03/calling-tcode-from-web-dynpro-abap-and-passing-the-values-to-it/