ABAP web dynpro
web dynpro application == t-code
# hosts 파일 찾아서 다음 ip 주소와 개인 host 주소를 갖게 만든다.
# 깨알 문법
#다시시작
#DATA BINDING 작업.
#초깃값
#이론
#나쁜 CODE - 1 VIEW 에 모든 기능을 몰아넣음
#code => 직접 치는것이 아니라 마법사를 이용할것.
METHOD onactionact_search .
DATA lo_nd_cs_cond TYPE REF TO if_wd_context_node.
DATA lo_el_cs_cond TYPE REF TO if_wd_context_element.
DATA ls_cs_cond TYPE wd_this->Element_cs_cond.
* navigate from <CONTEXT> to <CS_COND> via lead selection
lo_nd_cs_cond = wd_context->get_child_node( name = wd_this->wdctx_cs_cond ).
* @TODO handle non existant child
* IF lo_nd_cs_cond IS INITIAL.
* ENDIF.
* get element via lead selection
lo_el_cs_cond = lo_nd_cs_cond->get_element( ).
* @TODO handle not set lead selection
IF lo_el_cs_cond IS INITIAL.
ENDIF.
* get all declared attributes
lo_el_cs_cond->get_static_attributes(
IMPORTING
static_attributes = ls_cs_cond ).
DATA lo_nd_cs_info TYPE REF TO if_wd_context_node.
DATA lo_el_cs_info TYPE REF TO if_wd_context_element.
DATA ls_cs_info TYPE wd_this->Element_cs_info.
* navigate from <CONTEXT> to <CS_INFO> via lead selection
lo_nd_cs_info = wd_context->get_child_node( name = wd_this->wdctx_cs_info ).
* @TODO handle non existant child
* IF lo_nd_cs_info IS INITIAL.
* ENDIF.
* get element via lead selection
lo_el_cs_info = lo_nd_cs_info->get_element( ).
* @TODO handle not set lead selection
IF lo_el_cs_info IS INITIAL.
ENDIF.
* @TODO fill static attributes
* ls_cs_info = xxx->get_yyy( ).
* set all declared attributes
SELECT SINGLE *
FROM SCARR
INTO CORRESPONDING FIELDS OF ls_cs_info
WHERE carrid = ls_cs_cond-carrid.
lo_el_cs_info->set_static_attributes(
static_attributes = ls_cs_info ).
ENDMETHOD.
#나쁜 CODE - 2 CONTROLLER 에서 MODEL 기능 까지 가져가는 코드
#COMPONENTCONTROLLER 에서 선언한 METHOD 는
VIEW 의 WD_COMP_CONTROLLER(INTERFACE)에 들어가 있음.
따라서 CALL METHOD 해서 사용.