안녕하세요
현재 처음 트리를 뿌리는건 되는데 다른 조건으로 트리를 다시 뿌려줘야 하는경우에 리프레시가 안되고
덤프가 나기에 질문좀 올립니다..
구현한 바로는 리스트 트리구조를 사용하구요 (CL_GUI_LIST_TREE)
입력파라메터에 조건을 넣고 실행하면 트리구조가 조건값에 맞게 뿌려지는 거구요
SPLIT 으로 컨테이너를 나눴습니다.
프로그램 실행시 PBO단에서 컨테이너 생성>쪼개기>트리오브젝트 생성까지만 되고
조건입력후 조회시 ADD_NODES_AND_ITEMS 를 써서 처음엔 트리가 뿌려집니다.
이상태에서 다시 조건을 넣고 조회를 하게 되면 덤프가 나버립니다.
다른 분들의 글을 찾아보고 해봤지만 잘 안되네요
리스트트리는 아이템까지 같이 날려야하는것도 같고..
파라메터에는 아이템 날리는게 있긴 합니다..
일단 급해서
컨테이너를 날리고 다시 쪼개서 노드를 엎어치는 방법으로 하려는데
메소드를 잘못쓴건지 덤프가 나거나 아예 트리가 뜨질 않거나네요..
덤프도 모듈을 다타고 실행직전에 나버리니 찾기도 어렵습니다
조언 부탁드립니다..
IF G_TREE IS INITIAL.
PERFORM SET_CON. "SPLITTER 생성, 쪼갠 컨테이너에 각 서브컨테이너 할당
PERFORM SET_GRID."그리드 할당
PERFORM SET_TREE."트리 생성.
ELSE.
CALL METHOD G_TREE->DELETE_ALL_NODES.
* CALL METHOD G_TREE->DELETE_ALL_ITEMS_OF_NODES.
CALL METHOD CONTAINER->FREE.
FREE CONTAINER.
FREE G_TREE.
PERFORM SET_CON. "SPLITTER 생성, 쪼갠 컨테이너에 각 서브컨테이너 할당
PERFORM SET_GRID."그리드 할당
PERFORM SET_TREE."트리오브젝트 생성.
PERFORM SET_TREENODE. "트리구조 생성.
ENDIF.
해결했습니다..
G_TREE->DELETE_ALL_NODES 를 빼줘도 리프레쉬 됩니다..
리프레시 할떄마다 컨테이너를 날리고 그위에 새로 트리노드를 만들어주는게 맞네요
제가 덤프난건 PERFORM SET_TREENODE(폼문안에 ADD_NODE 메소드있음) 문을
다른곳에서 한번 태우고 또 태워서 두번타다보니 덤프가 난 듯하네요.