안녕하세요
오늘도 열심히 개발하는 초보 개발자입니다.
ALV에서 데이터를 출력하고 USER_COMMAND로 몇가지 INTERNAL 테이블 계산해서
다시 뿌려주는 REFRES_TABLE_DISPLAY 를 호출했는데...
필드순서가 바뀌었어요 ㅠㅠ
이게 어찌된일인지!!??
원래 REFRESH 메소드를 쓰면 필드순서가 변경되나요?
그럼 어떻게 해야할지 .ㅠㅠ
아 오늘도 야근이군요 ㅠ
안녕하세요
오늘도 열심히 개발하는 초보 개발자입니다.
ALV에서 데이터를 출력하고 USER_COMMAND로 몇가지 INTERNAL 테이블 계산해서
다시 뿌려주는 REFRES_TABLE_DISPLAY 를 호출했는데...
필드순서가 바뀌었어요 ㅠㅠ
이게 어찌된일인지!!??
원래 REFRESH 메소드를 쓰면 필드순서가 변경되나요?
그럼 어떻게 해야할지 .ㅠㅠ
아 오늘도 야근이군요 ㅠ
fieldcatalog 가 LVS_S_FCAT 구조체타입이면, COL_POS라는 필드가 있습니다
원하시는 결과대로 각 필드마다 순서를 주세요
예를들어 컬럼이 BUKRS BELNR ... 이런순으로 하고싶으시면
loop at lt_fieldcat into ls_fieldcat.
if ls_fieldcat-FIELDNAME = 'BUKRS'.
ls_fieldcat-col_pos = 1.
endif.
if ls_fieldcat-FIELDNAME = 'BELNR'.
ls_fieldcat-col_pos = 2.
endif.
.....(이하 생략)
endloop.
관련 정보는 SAP ALV 필드 카탈로그를 검색해보시면 됩니다.
코딩 말고 다른방법으로는 유저가 리스트에서 레이아웃을 변경해서 저장하면 자동으로 원하는 순서대로 표시됩니다.