안녕하세요. 오전내내 고민하다가 질문올려봅니다.
라디오 버튼이두개가 있어서
1번을 선택하면 확정번호로 소트가 되야 하고,
2번을 선택하면 날짜순으로 소트가 되어야 합니다.
if p_sort_a = 'X'.
sort it_se01 by yy no.
sort it_se02 by yy no.
else.
sort it_se01 by yy no2.
sort it_se02 by yy no2.
endif.
이렇게 해줬고.. 이래도 안되서
ls_SORT-SPOS = 1.
ls_SORT-FIELDNAME = 'YY'.
ls_SORT-UP = 'X'.
APPEND ls_SORT TO GT_SORT.
ls_SORT-SPOS = 2.
ls_SORT-FIELDNAME = 'NO'.
ls_SORT-UP = 'X'.
APPEND ls_SORT TO GT_SORT.
구문도 넣어줬습니다. 왜 소트가 안되는지 모르겠어요..
라디오 버튼을 확정번호로 하든 날짜순으로 하든 소트는 날짜순으로만 됩니다.
참고로 두줄로 뿌리는 alv 입니다.
댓글 10
-
ccc
2007.08.27 21:23
-
e-abap
2007.08.27 21:25
alv 조회할때 레이아웃을 다른거 선택하신거 아닌가요? -
ccc
2007.08.27 22:48
레이아웃 다른거 선택한것도 아니에요^^;;
alv 두줄일 경우에는 소트 하는 방법이 다른건 아닌가요?
-
mean
2007.08.27 23:46
저도 가끔 그런 실수를 할때가 있는데,
CALL METHOD GV_ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_DEFAULT = C_MARK
IS_LAYOUT = GV_LAYOUT
IT_TOOLBAR_EXCLUDING = GV_EXCLUDE
I_SAVE = 'A'
CHANGING
IT_OUTTAB = GT_IN[]
IT_FIELDCATALOG = GV_FIELDCAT[]
IT_SORT = GV_SORT.
요 function에서 gv_sort를 빼먹을 때가 있습니다.
혹시 저와 같은 경우인지..ㅋ
-
ccc
2007.08.28 00:12
이것도 아니네요.^^;;
이것참 난감하네요. 왜 소트가 안되는건지;;
-
김현준
2007.08.28 02:56
필드가 char 형인지요? ㅎㅎㅎ 필드 타입을 char 해보고 확인해보세요~
-
ccc
2007.08.28 03:08
디버깅 했을때 internal 테이블에서의 순서와 출력화면에서의 순서가 다릅니다.
interal 테이블에는 순서가 제대로 잘 들어가있는데
이게 왜 달라지는지 모르겠어요.
-
김현준
2007.08.28 03:34
레이아웃 필터 체크를 한번 해보시고요. 혹시 테이블 키값도 한번 확인을 해보세요~인터널 테이블에도 되어 있다면 마지막에 레이아웃 뿌려주실때 옵션을 주신게 아닐까요-_-; -
디카촐
2007.08.28 10:21
인터널 테이블로만 정렬을 완료하시고 ALV 의 SORT 기능을 사용하지 않고 해보세요.
평소 하던데로 다 넣어준거 같은데 안되네요^^;;;