ALV 4

|ALV| Column Optimize ( After ALV Refresh )

ALV에서 Column Size를 Optimzize 하기 위해서 다음과 같다. SAP ALV Documnet에 나와 있듯이 ALV LAYOUT 의 CWIDTH_OPT 속성으로 Column Size Optimize 를 활성화 할 수 있다. ( Value Range : SPACE(사용안함), 'X'(사용) ) ALV Optimize 후엔 위와 같이 데이터 값 또는 컬럼 헤더의 텍스트 중 길이가 긴 것을 기준으로 Optimize 된 것을 볼 수 있다. 이 때 한가지 문제가 있는데, 데이터 변경으로 인해 ALV를 Refersh (Method REFRESH_TABLE_DISPLAY 호출 ) 하게 되면, 변경된 값 기준으로 Column의 Optimize가 재조정되지 않는다. 위와 같이 ALV에서 BAPI, BDC,..

|ALV| Toolbar Button 제어 (Feat. TOOLBAR Event)

이번에는 Class ALV 기준으로 Toolbar Button과 관련된 내용들을 살펴보고자 한다. 일반적으로 ALV Toolbar 의 버튼을 제어하기 위해 ALV Event 중 Event "TOOLBAR" 를 많이 사용한다. Event TOOLBAR 호출시점 Event "HOTSPOT" 경우 Fieldcatalog의 Hotspot 필드에 설정이 된 필드를 클릭했을 때 수행되는 것처럼, Event "TOOLBAR"는 Method "SET_TABLE_FOR_FIRST_DISPLAY" 또는 Method "REFRESH_TABLE_DISPLAY" 를 사용하여 ALV (재)출력시에 내부적으로 Event "TOOLBAR"를 호출하게 된다. 또한 ALV Toolbar에 영향이 있는 Fieldcatalog나 Layou..

|ALV| 개별 Cell 제어 ( feat. STYLE 필드 )

STYLE 필드는 ALV에서 Cell 개별로 효과를 주기 위해 사용하는 필드 중 하나이다. Strucutre Type은 "LVC_S_STYLE", Table Type으로는 "LVC_T_STYLE" 를 사용한다. 구현 방법은 다음과 같다. ALV output 인터널 테이블에 STYLE 용도로 사용할 필드를 Table Type인 LVC_T_STYLE으로 선언한다. ( 필드이지만 내부적으로는 인터널 테이블 갖는 구조임 ) ALV output 인터널 테이블에서 효과를 주고 싶은 행의 Style필드에 효과를 주고 싶은 필드명과 그 필드에 주고자 하는 효과 값을 APPEND 한다. ( 한 행에 여러 건 입력 가능 ) ALV Layout 의 "STYLEFNAME" 필드에 STYLE 필드로 사용될 필드명 반영한다. 이..

| ALV | GET_SELECTED_ROWS 선택 라인 추출 (Feat. (Sub)Total 라인)

Method "GET_SELECTED_ROW"는 ALV를 제어함에 있어 많이 사용되는 Method 중 하나로, ALV Report에서 ALV Standard 선택 박스를 선택 후 선택된 라인의 위치 정보(인터널 테이블 Index)를 가져오기 위해 사용된다. 가볍게 사용되는 Method지만, 정확히 모르고 썼다가는 에러가 날 수도 있으니 한번 알아보도록 하자. 일반적으로 다음과 같이 호출하여 사용한다. Method "GET_SELECTED_ROW"의 Importing Parameter 반환 값을 보면 "LT_ROW_NO"는 Field "ROW_ID"에, "LT_INDEX_ROWS"는 Field "INDEX"에 선택된 라인의 정보( 인터널 테이블 Index )가 들어가 있는 것을 확인할 수 있다. 그런 다음..