CL_GUI_LIST_TREE
LIST_TREE는 노드의 데이터를 헤더/리스트 2개의 컬럼으로 트리를 표현합니다.
노드의 컬럼을 표현한다는 부분에서는 Column tree와 비슷하여 전반적인 사용 방법은 Column tree와 유사하지만 List tree의 경우 각각의 노드별로 Hierarchy 설정할 아이템(컬럼)을 지정할 수 있어 리스트로 데이터를 표현하기에 좀더 유연합니다.
> Column tree는 Tree Object에 Hierarchy 컬럼을 지정하여 모든 노드는 동일한 컬럼으로만 계층구조 표현
> List tree는 각 노드별로 Hierarchy 컬럼을 지정하여 개별 노드별로 계층구조의 표현을 다르게 가능
Hierarchy 이외의 컬럼은 List 컬럼에 단일 컬럼으로 합쳐져서 표현됨
#1. 노드 데이터
자주 사용하는 필드에 대한 설명
1) 노드
필드명 | 설명 | 값 |
NODE_KEY | 노드의 키값으로 중복 금지 | |
RELATKEY | 상위 노드의 키값 | |
HIDDEN | 숨김 여부 | 'X' : 숨김, ' ' : 표시 |
DISABLED | 트리 이벤트 비활성화 여부 | 'X' : 이벤트 비활성화, ' ' : 활성화 |
ISFOLDER | 폴더 여부 | 'X' : 폴더, ' ' : Leaf |
N_IMAGE | 기본 이미지(아이콘) | ICONNAME 형식 |
EXP_IMAGE | 폴더가 펼쳐졌을때 이미지(아이콘) | ICONNAME 형식 |
STYLE | 노드의 텍스트 스타일 | CL_TREE_CONTROL_BASE=>STYLE_DEFAULT "Normal CL_TREE_CONTROL_BASE=>STYLE_INACTIVE "Grey CL_TREE_CONTROL_BASE=>STYLE_INTENSIFD_CRITICAL "Red CL_TREE_CONTROL_BASE=>STYLE_INTENSIFIED "Blue CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED "Yellow background CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_NEGATIVE "Red background CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_POSITIVE "Green background CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_A "Blue background CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_B "Grey background CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_C "Orange background |
LAST_HITEM | HIERARCHY 필드 | 어느 컬럼까지 HIERARCHY 로 표현할 것인지 필드명 입력 |
2) 아이템(노드의 컬럼)
필드명 | 설명 | 값 |
NODE_KEY | 노드의 키값 | |
ITEM_NAME | 컬럼명 | LIST TREE에서는 숫자로만 사용 |
CLASS | 컬럼 유형 | CL_GUI_COLUMN_TREE=>ITEM_CLASS_TEXT CL_GUI_COLUMN_TREE=>ITEM_CLASS_CHECKBOX CL_GUI_COLUMN_TREE=>ITEM_CLASS_BUTTON CL_GUI_COLUMN_TREE=>ITEM_CLASS_LINK |
T_IMAGE | 아이콘 | ICONNAME 형식 |
STYLE | 컬럼의 텍스트 스타일 | CL_TREE_CONTROL_BASE=>STYLE_DEFAULT "Normal CL_TREE_CONTROL_BASE=>STYLE_INACTIVE "Grey CL_TREE_CONTROL_BASE=>STYLE_INTENSIFD_CRITICAL "Red CL_TREE_CONTROL_BASE=>STYLE_INTENSIFIED "Blue CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED "Yellow background CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_NEGATIVE "Red background CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_POSITIVE "Green background CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_A "Blue background CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_B "Grey background CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_C "Orange background |
LENGTH | 표시 길이 | LIST TREE에서만 사용 |
TEXT | 텍스트 |
#2. 이벤트
-. Double Click, Drag 등 여러 이벤트가 지원되며 NODE_DOUBLE_CLICK은 거의 필수로 사용한다
-. 트리의 Set_registered_events 메소드를 통해 이벤트를 등록해야 이벤드 핸들러 호출이 가능하며,
이벤트 등록(set_registered_events)시 APPL_EVENT = 'X' 지정하면 GUI_STATUS 이벤트처럼 PBO/PAI가 호출된다
DATA LT_EVENTS TYPE CNTL_SIMPLE_EVENTS.
LT_EVENTS = VALUE #( ( EVENTID = CL_GUI_LIST_TREE=>EVENTID_NODE_DOUBLE_CLICK APPL_EVENT = ' ' ) ). "APPL_EVENT : X = 애플리케이션 이벤트가 되므로 PBO 및 PAI가 호출됨
IF GV_ITEM_SELECTION IS NOT INITIAL.
APPEND VALUE #( EVENTID = CL_GUI_LIST_TREE=>EVENTID_ITEM_DOUBLE_CLICK APPL_EVENT = ' ' ) TO LT_EVENTS.
ENDIF.
#3. 소스코드 예시
관리회계의 각종 그룹(코스트센터 등)을 트리로 보여주는 리포트
P_CLASS로 표시할 그룹 선택
> 0101 : 코스트센터 그룹
> 0102 : 원가요소 그룹
> 0106 : 손익센터 그룹
REPORT YSAND_BOX_003.
* 트리관련 전역 변수
DATA GO_GUI_LIST_TREE TYPE REF TO CL_GUI_LIST_TREE.
DATA: GT_NODES TYPE TREEV_NTAB, "트리에 표시할 노드
GT_ITEMS TYPE STANDARD TABLE OF MTREEITM, "트리 노드의 컬럼
GS_HIERARCHY_HEADER TYPE TREEV_HHDR, "트리의 Hierarchy 헤더
GS_LIST_HEADER TYPE TREEV_LHDR, "트리의 List 헤더(CL_GUI_LIST_TREE에서 사용)
GV_ITEM_SELECTION TYPE C. "트리의 아이템(노드의 컬럼) 선택 가능 여부
* Selection Screen
PARAMETERS: P_KOKRS TYPE TKA01-KOKRS OBLIGATORY MEMORY ID CAC,
P_CLASS TYPE SETHEADER-SETCLASS OBLIGATORY DEFAULT '0101'.
SELECTION-SCREEN SKIP 1.
PARAMETERS P_ITM_SE AS CHECKBOX. "아이템 선택 가능 여부
* 트리 이벤트
CLASS LCL_TREE_EVENT_RECEIVER DEFINITION.
PUBLIC SECTION.
METHODS: HANDLE_NODE_DOUBLE_CLICK FOR EVENT NODE_DOUBLE_CLICK OF CL_GUI_LIST_TREE IMPORTING NODE_KEY,
HANDLE_ITEM_DOUBLE_CLICK FOR EVENT ITEM_DOUBLE_CLICK OF CL_GUI_LIST_TREE IMPORTING NODE_KEY" TYPE TV_NODEKEY
ITEM_NAME." Type TV_ITMNAME
ENDCLASS.
CLASS LCL_TREE_EVENT_RECEIVER IMPLEMENTATION.
METHOD HANDLE_NODE_DOUBLE_CLICK.
IF GT_NODES[ NODE_KEY = NODE_KEY ]-ISFOLDER EQ 'X'. "현재 노드가 폴더면 펼치기
GO_GUI_LIST_TREE->EXPAND_NODE(
EXPORTING
NODE_KEY = NODE_KEY
* LEVEL_COUNT =
* EXPAND_SUBTREE =
EXCEPTIONS
FAILED = 1
ILLEGAL_LEVEL_COUNT = 2
CNTL_SYSTEM_ERROR = 3
NODE_NOT_FOUND = 4
CANNOT_EXPAND_LEAF = 5
others = 6
).
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ELSE.
MESSAGE I000(0K) WITH NODE_KEY.
ENDIF.
ENDMETHOD.
METHOD HANDLE_ITEM_DOUBLE_CLICK.
MESSAGE I000(0K) WITH NODE_KEY ITEM_NAME.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
SELECT SINGLE
*
FROM TKA01
WHERE KOKRS EQ @P_KOKRS
INTO @DATA(LS_TKA01).
IF SY-SUBRC NE 0.
EXIT.
ENDIF.
DATA(LV_KHINR) = SWITCH #( P_CLASS WHEN '0101' THEN LS_TKA01-KHINR "코스트센터 그룹
WHEN '0106' THEN LS_TKA01-PHINR "손익센터 그룹
WHEN '0102' THEN 'K8000' "원가요소그룹
).
DATA(LV_SUBCLASS) = SWITCH #( P_CLASS WHEN '0102' THEN LS_TKA01-KTOPL
ELSE P_KOKRS ).
CHECK LV_KHINR IS NOT INITIAL.
"트리에 표시할 노드 데이터
CLEAR: GT_NODES, GT_ITEMS, GS_HIERARCHY_HEADER.
PERFORM SET_NODES USING P_KOKRS
P_CLASS
LV_SUBCLASS
LV_KHINR.
"트리가 포함된 스크린 호출
SKIP. "Parent를 CL_GUI_CONTAINER=>SCREEN0 를 사용하기 위해 공백 삽입
PERFORM CREATE_SIMPLE_TREE.
*&---------------------------------------------------------------------*
*& Form SET_NODES
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0050 text
*----------------------------------------------------------------------*
FORM SET_NODES USING P_KOKRS
P_SETCLASS
P_SUBCLASS
P_SETNAME.
DATA(LS_MASTER_DATA) = VALUE GRPHP1( MDCHECK = 'X'
BREAKINT = 'X'
SHOWTXT = 'X' ).
DATA: LT_NODES TYPE GSETH_NODE_TAB,
LT_VALUES_STD TYPE GSETH_VAL_TAB,
LT_MASTER_STD TYPE GSETH_MD_TAB,
LT_VALUES TYPE SORTED TABLE OF GSETH_VAL_LINE WITH NON-UNIQUE KEY SETID,
LT_MASTER_DATA TYPE SORTED TABLE OF GSETH_MD_LINE WITH NON-UNIQUE KEY NAME,
LS_INFO TYPE GRPHINFO,
LV_OVERWRITE TYPE SY-DATAR VALUE 'X',
LV_SETID TYPE SETHIER-SETID,
LV_RELATKEY TYPE TV_NODEKEY,
LV_TABIX TYPE SY-TABIX.
RANGES LR_LEAF FOR SETLEAF-VALFROM.
LV_SETID = |{ P_SETCLASS }{ P_SUBCLASS }{ P_SETNAME }|.
CALL FUNCTION 'K_HIERARCHY_TABLES_READ'
EXPORTING
E_CLASS = P_SETCLASS
E_SETID = LV_SETID
E_KOKRS = P_KOKRS
E_MASTER_DATA = LS_MASTER_DATA
TABLES
T_NODES = LT_NODES
T_VALUES = LT_VALUES_STD
T_MASTER_DATA = LT_MASTER_STD
CHANGING
C_INFO = LS_INFO
C_OVERWRITE = LV_OVERWRITE
EXCEPTIONS
NO_CONTROLLING_AREA = 1
NO_CHART_OF_ACCOUNT = 2
DIFFERENT_CONTROLLING_AREAS = 3
DIFFERENT_CHART_OF_ACCOUNTS = 4
SET_NOT_FOUND = 5
ILLEGAL_FIELD_REPLACEMENT = 6
ILLEGAL_TABLE_REPLACEMENT = 7
FM_RAISE = 8
CONVERT_ERROR = 9
NO_OVERWRITE_STANDARD_HIER = 10
NO_BUKRS_FOR_KOKRS = 11
OTHERS = 12
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
EXIT.
ENDIF.
LT_VALUES = CORRESPONDING #( LT_VALUES_STD ).
LT_MASTER_DATA = CORRESPONDING #( LT_MASTER_STD ).
LOOP AT LT_NODES INTO DATA(LS_NODES).
LV_TABIX = SY-TABIX.
"상위노드 찾기
CLEAR LV_RELATKEY.
IF LS_NODES-HLEVEL > 0.
WHILE LV_TABIX > 1.
ADD -1 TO LV_TABIX.
IF LT_NODES[ LV_TABIX ]-HLEVEL EQ LS_NODES-HLEVEL - 1.
LV_RELATKEY = LT_NODES[ LV_TABIX ]-SHORTNAME.
EXIT.
ENDIF.
ENDWHILE.
ENDIF.
"CLASS
"CL_GUI_COLUMN_TREE=>ITEM_CLASS_TEXT.
"CL_GUI_COLUMN_TREE=>ITEM_CLASS_CHECKBOX.
"CL_GUI_COLUMN_TREE=>ITEM_CLASS_BUTTON.
"CL_GUI_COLUMN_TREE=>ITEM_CLASS_LINK.
"STYLE
"CL_TREE_CONTROL_BASE=>STYLE_DEFAULT "Normal
"CL_TREE_CONTROL_BASE=>STYLE_INACTIVE "Grey
"CL_TREE_CONTROL_BASE=>STYLE_INTENSIFD_CRITICAL "Red
"CL_TREE_CONTROL_BASE=>STYLE_INTENSIFIED "Blue
"CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED "Yellow background
"CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_NEGATIVE "Red background
"CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_POSITIVE "Green background
"CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_A "Blue background
"CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_B "Grey background
"CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_C "Orange background
"노드 추가
APPEND VALUE #( NODE_KEY = LS_NODES-SHORTNAME "노드키
RELATKEY = LV_RELATKEY "상위 노드키
HIDDEN = ' ' "숨김 여부
DISABLED = ' ' "이벤트 비활성화 여부
ISFOLDER = 'X' "폴더 여부 (SPACE는 Leaf로 표시)
N_IMAGE = ICON_TREE "기본 이미지
EXP_IMAGE = ICON_TREE "펼쳤을때 이미지
STYLE = SWITCH #( LS_NODES-HLEVEL WHEN 0 THEN CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_POSITIVE
ELSE CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_C )
LAST_HITEM = '1' "어느 컬럼까지를 HIERARCHY 로 표현할 것인지 필드명 입력
) TO GT_NODES.
"노드의 아이템(컬럼) 추가
APPEND VALUE #( NODE_KEY = LS_NODES-SHORTNAME
ITEM_NAME = '1' "열이름 (LIST TREE에서는 숫자로만 사용)
CLASS = CL_GUI_COLUMN_TREE=>ITEM_CLASS_TEXT "표시형식
T_IMAGE = ' ' "아이콘
STYLE = SWITCH #( LS_NODES-HLEVEL WHEN 0 THEN ' '
ELSE CL_TREE_CONTROL_BASE=>STYLE_INTENSIFD_CRITICAL )
LENGTH = 10 "표시 길이(LIST TREE에서만 사용)
TEXT = LS_NODES-SHORTNAME ) TO GT_ITEMS.
APPEND VALUE #( NODE_KEY = LS_NODES-SHORTNAME
ITEM_NAME = '2' "열이름 (LIST TREE에서는 숫자로만 사용)
CLASS = CL_GUI_COLUMN_TREE=>ITEM_CLASS_TEXT "표시형식
T_IMAGE = ' ' "아이콘
STYLE = ' '
LENGTH = 20 "표시 길이(LIST TREE에서만 사용)
TEXT = LS_NODES-DESCRIPT ) TO GT_ITEMS.
CLEAR LR_LEAF[].
LOOP AT LT_VALUES INTO DATA(LS_VALUES) WHERE SETID EQ LS_NODES-SETID.
APPEND VALUE #( SIGN = 'I' OPTION = 'BT'
LOW = LS_VALUES-VFROM
HIGH = LS_VALUES-VTO ) TO LR_LEAF.
ENDLOOP.
IF LR_LEAF[] IS NOT INITIAL.
"노드(리프) 추가
LOOP AT LT_MASTER_DATA INTO DATA(LS_LEAF) WHERE NAME IN LR_LEAF.
APPEND VALUE #( NODE_KEY = LS_LEAF-NAME "노드키
RELATKEY = LS_NODES-SHORTNAME "상위 노드키
HIDDEN = ' ' "숨김 여부
DISABLED = ' ' "이벤트 비활성화 여부
ISFOLDER = ' ' "폴더 여부 (SPACE는 Leaf로 표시)
N_IMAGE = SWITCH #( P_SETCLASS WHEN '0101' THEN ICON_COST_CENTER WHEN '0106' THEN ICON_PROFIT_CENTER ) "기본 이미지
LAST_HITEM = '1' "어느 컬럼까지를 HIERARCHY 로 표현할 것인지 필드명 입력
) TO GT_NODES.
"노드의 아이템(컬럼) 추가
APPEND VALUE #( NODE_KEY = LS_LEAF-NAME
ITEM_NAME = '1' "열이름 (LIST TREE에서는 숫자로만 사용)
CLASS = CL_GUI_COLUMN_TREE=>ITEM_CLASS_TEXT "표시형식
T_IMAGE = ' ' "아이콘
STYLE = ' '
LENGTH = 10 "표시 길이(LIST TREE에서만 사용)
TEXT = CONDENSE( |{ LS_LEAF-NAME ALPHA = OUT }| ) ) TO GT_ITEMS.
APPEND VALUE #( NODE_KEY = LS_LEAF-NAME
ITEM_NAME = '2' "열이름 (LIST TREE에서는 숫자로만 사용)
CLASS = CL_GUI_COLUMN_TREE=>ITEM_CLASS_TEXT "표시형식
T_IMAGE = ICON_LED_GREEN "아이콘
STYLE = ' '
LENGTH = 20 "표시 길이(LIST TREE에서만 사용)
TEXT = LS_LEAF-TEXT ) TO GT_ITEMS.
APPEND VALUE #( NODE_KEY = LS_LEAF-NAME
ITEM_NAME = '3' "열이름 (LIST TREE에서는 숫자로만 사용)
CLASS = CL_GUI_LIST_TREE=>ITEM_CLASS_TEXT "표시형식
T_IMAGE = ICON_LED_GREEN "아이콘
STYLE = CL_TREE_CONTROL_BASE=>STYLE_EMPHASIZED_C "Orange background
LENGTH = 30 "표시 길이(LIST TREE에서만 사용)
TEXT = '추가적인 설명.....' ) TO GT_ITEMS.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form CREATE_SIMPLE_TREE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM CREATE_SIMPLE_TREE .
CHECK GO_GUI_LIST_TREE IS INITIAL.
DATA LCL_TREE_EVENT TYPE REF TO LCL_TREE_EVENT_RECEIVER.
* "트리를 표시한 컨테이너 생성
* DATA LO_SPLITTER_CONTAINER TYPE REF TO CL_GUI_SPLITTER_CONTAINER.
* CREATE OBJECT LO_SPLITTER_CONTAINER
* EXPORTING
* PARENT = CL_GUI_CONTAINER=>SCREEN0
* ROWS = 1
* COLUMNS = 2
* EXCEPTIONS
* CNTL_ERROR = 1
* CNTL_SYSTEM_ERROR = 2
* others = 3.
* IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
* EXIT.
* ENDIF.
*
* DATA(LO_GUI_CONTAINER1) = LO_SPLITTER_CONTAINER->GET_CONTAINER( EXPORTING ROW = 1 COLUMN = 1 ).
* DATA(LO_GUI_CONTAINER2) = LO_SPLITTER_CONTAINER->GET_CONTAINER( EXPORTING ROW = 1 COLUMN = 2 ).
*
* LO_SPLITTER_CONTAINER->SET_COLUMN_WIDTH( EXPORTING ID = 1 WIDTH = 20 ).
"트리의 hierarchy 컬럼 설정
GS_HIERARCHY_HEADER-HEADING = '헤더 영역'.
GS_HIERARCHY_HEADER-WIDTH = 20.
GS_LIST_HEADER-HEADING = '내역 영역'.
"노드의 컬럼 선택 여부 (X 일 경우 ITEM_DOUBLE_CLICK 이벤트 사용 가능)
GV_ITEM_SELECTION = P_ITM_SE.
"트리 오브젝트 생성
CREATE OBJECT GO_GUI_LIST_TREE
EXPORTING
* LIFETIME =
PARENT = CL_GUI_CONTAINER=>SCREEN0 "트리를 표시할 컨테이너
* SHELLSTYLE =
NODE_SELECTION_MODE = CL_GUI_LIST_TREE=>NODE_SEL_MODE_SINGLE
* HIDE_SELECTION =
ITEM_SELECTION = GV_ITEM_SELECTION
WITH_HEADERS = 'X'
HIERARCHY_HEADER = GS_HIERARCHY_HEADER
LIST_HEADER = GS_LIST_HEADER
* NAME =
EXCEPTIONS
LIFETIME_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
ILLEGAL_NODE_SELECTION_MODE = 4
FAILED = 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.
EXIT.
ENDIF.
"트리 이벤트 등록
DATA LT_EVENTS TYPE CNTL_SIMPLE_EVENTS.
LT_EVENTS = VALUE #( ( EVENTID = CL_GUI_LIST_TREE=>EVENTID_NODE_DOUBLE_CLICK APPL_EVENT = ' ' ) ). "APPL_EVENT : X = 애플리케이션 이벤트가 되므로 PBO 및 PAI가 호출됨
IF GV_ITEM_SELECTION IS NOT INITIAL.
APPEND VALUE #( EVENTID = CL_GUI_LIST_TREE=>EVENTID_ITEM_DOUBLE_CLICK APPL_EVENT = ' ' ) TO LT_EVENTS.
ENDIF.
GO_GUI_LIST_TREE->SET_REGISTERED_EVENTS( EXPORTING EVENTS = LT_EVENTS ).
CREATE OBJECT LCL_TREE_EVENT.
SET HANDLER LCL_TREE_EVENT->HANDLE_NODE_DOUBLE_CLICK FOR GO_GUI_LIST_TREE.
SET HANDLER LCL_TREE_EVENT->HANDLE_ITEM_DOUBLE_CLICK FOR GO_GUI_LIST_TREE.
"트리에 노드와 아이템(컬럼) 설정
GO_GUI_LIST_TREE->ADD_NODES_AND_ITEMS(
EXPORTING
NODE_TABLE = GT_NODES
ITEM_TABLE = GT_ITEMS
ITEM_TABLE_STRUCTURE_NAME = 'MTREEITM'
EXCEPTIONS
FAILED = 1
CNTL_SYSTEM_ERROR = 2
ERROR_IN_TABLES = 3
DP_ERROR = 4
TABLE_STRUCTURE_NAME_NOT_FOUND = 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.
EXIT.
ENDIF.
"루트 노드 펼치기
GO_GUI_LIST_TREE->EXPAND_ROOT_NODES( EXPORTING LEVEL_COUNT = 1 ).
ENDFORM.
'ABAP > 개발Tip' 카테고리의 다른 글
[개발Tip] SY-REPID 와 SY-CPROG 차이 (0) | 2023.10.30 |
---|---|
[개발Tip] Simple, Column, List Tree 비교 (0) | 2023.10.16 |
[개발Tip] CL_GUI_COLUMN_TREE 사용 방법 (0) | 2023.10.16 |
[개발Tip] CL_GUI_SIMPLE_TREE 사용 방법 (0) | 2023.10.16 |
[개발Tip] Event 호출로 백그라운드 작업 실행(Event Batch) (0) | 2023.09.14 |
댓글