| ||
댓글 6
-
버미!
2010.11.30 23:44
-
버미!
2010.11.30 23:46
-
피콜레티
2010.11.30 23:59
DATA: G_ANY_TAB TYPE REF TO DATA.
DATA: G_TBNAME TYPE DD03L-TABNAME.
FIELD-SYMBOLS : <DYN_TAB> TYPE STANDARD TABLE.
CREATE DATA : G_ANY_TAB TYPE STANDARD TABLE OF (G_TBNAME).
ASSIGN : G_ANY_TAB->* TO <DYN_TAB>.
가끔 Dynamic table 선언할때 사용하던게 생각나에요~
-
부엉이
2010.12.01 00:31
다른건 윗분들이 설명하셨고
?= 요건 캐스팅..
요새 웹딘을 하고 있으므로 간단하게 웹딘 ALV에서 많이 쓰이는 예를 들자면
DATA : l_value TYPE REF TO cl_salv_wd_config_table.
l_value->if_salv_wd_table_settings~set_first_visible_row( 20 ).
요렇게 표현 가능한게 캐스팅을 이용해
data : lr_table_settings TYPE REF TO if_salv_wd_table_settings.
lr_table_settings ?= l_value.
lr_table_settings->set_visible_row_count( 15 ).
요렇게도 간단히 접근 가능
-
밥~~
2010.12.01 01:50
응답해 주신분들.. 감사 드립니다..
-
맑은하늘
2010.12.01 18:36
-> : class 의 instance 를 말합니다. class instance 의 method, attributes 등...
=> : class 의 static component 을 말합니다. class-method, constants, static attributes 등...
?= : casting ( ?TO 도 같은 내용임 ) 동일한 (data)object 를 옮길때 사용됩니다.
예) 실제로 제가 사용한 예입니다.
cl_gui_custom_container 로 생성하고 그중에서 cl_gui_container 만 사용하여야 할 경우입니다.
cl_gui_custom_container->parent (cl_gui_container)만 필요한 경우임.
FORM CREATE_CUSTOM_CONTAINER
USING US_CONTNAME TYPE ANY
CHANGING CH_CONTAINER TYPE REF TO CL_GUI_CONTAINER.
DATA LCL_CONT TYPE REF TO CL_GUI_CUSTOM_CONTAINER.
CREATE OBJECT LCL_CONT
EXPORTING
CONTAINER_NAME = US_CONTNAME
LIFETIME = CL_GUI_CONTAINER=>LIFETIME_DYNPRO
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
OTHERS = 6.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CH_CONTAINER ?= LCL_CONT.
ENDFORM. " CREATE_CUSTOM_CONTAINER
->* : dereferencing operator 이라고 합니다.
data reference 된 위치를 읽을 때 사용됩니다.
DATA DREF TYPE REF TO DATA.
DATA LV_FIELD TYPE C LENGTH 10 VALUE 'ABCDEFGHIJ'.
FIELD-SYMBOLS <FS> TYPE ANY.
GET REFERENCE OF LV_FIELD+5 INTO DREF.
ASSIGN DREF->* TO <FS>.
WRITE <FS>. => Result : FGHIJ
F1 살짝 눌러보심이...음..안나오네..
암튼 객체에 대한 기호임을 생각하시고..전에 어느 회원이 게시판에 문의한 거 같은데..