쌓고 쌓다
[ABAP] ALV Variant 본문
Layout Variant 설정
ALV로 List Data를 Display하여 볼 때
보이는 컬럼의 순서를 바꾸거나, 숨김, 오름차순 정렬과 같이
레이아웃의 변경을 할 수 있다.
레이아웃의 변경 상태를 저장하고 Display 하는 방법이 있다.
CL_GUI_ALV_GRID 클래스로 생성한 GO_ALV_GRID 변수로
ALV에 Display 하기 위해 사용하는 SET_TABLE_FOR_FIRST_DISPLAY 메소드의 파라미터에
보면 IS_VARIANT, I_SAVE가 존재한다.
IS_VARIANT와 I_SAVE 파라미터가 변경된 레이아웃을 저장하고 Display 하는 파라미터이다.
DISVARIANT 타입으로 변수를 TOP에 선언하고
SET_TABLE_FOR_FIRST_DISPLAY 메소드 호출 이전에
GS_VARIANT-REPORT = <Program name>을 작성해 주자.
<Program name>에는 보통 호출한 프로그램명을 저장하는 시스템 변수 SY-CPROG가 온다.
IS_VARIANT 파라미터에 GS_VARIANT 값을 넣어준다.
여기까지 하면 레이아웃 버튼을 눌렀을 때
레이아웃을 선택하거나 변경하는 두 개의 옵션이 생긴다.
현재 IS_VARIANT를 넣어주고 I_SAVE는 설정하지 않은 space 상태라서
Change와 Select 모드만 생긴 것이다.
이제 저장하는 옵션을 추가하는 과정을 거쳐보자.
I_SAVE 파라미터에 'A' 값을 넣어주자.
그러면 레이아웃을 저장하는 기능도 생긴다.
IS_VARIANT도 할당하고, I_SAVE에 값을 주었기에
Change, Save, Select가 가능한 것이다.
'U' : Only User Related. 자신이 만든 VARIANT만 사용할 수 있다.
'X' : 다른 유저가 설정한 VARIANT도 사용할 수 있다.
'X' : 'U', 'X' 옵션을 합친 것
Layout Variant 사용
레이아웃을 변경한 후, Save Layout 버튼을 누른다.
Layout : 저장할 레이아웃명
Name : 레이아웃 설명
저장한 레이아웃은 Choose Layout으로 사용이 가능하다.
원하는 레이아웃을 눌러 사용한다.
파라미터로 레이아웃을 지정해서 볼 수도 있다.
DISVARAINT-VARIANT 타입으로 변수를 선언하고
이전에 선언한 GS_VARIANT 변수의 VARIANT 필드에
입력받은 파라미터를 넘겨주면 된다.
ALV로 List Data를 보기 전에 어떤 레이아웃으로 볼지 정하여 바로 볼 수 있다.
예시로 이전에 저장한 /LAYOUT1을 지정하고 있다.
'SAP > ABAP' 카테고리의 다른 글
[ABAP] ALV 생성 (Container Control, ALV Grid Control) (2) | 2025.01.22 |
---|---|
[ABAP] Selection Screen Block, Comment, Line, Tabbed Block (0) | 2025.01.21 |
[ABAP] WRITE 기본 문법, SELECTION-OPTIONS (0) | 2025.01.21 |
[ABAP] Subscreen, Tabstrip (0) | 2025.01.18 |
[ABAP] SELECT-OPTIONS (0) | 2025.01.18 |