▪CL_GUI_ALV_GRID 클래스의 ALV를 만드는 메소드인 set_table_for_first_display에서
▪IS_LAYOUT 파라미터를 이용하여 합계 금액을 보여주거나 줄무늬 패턴으로 조회되도록 하는 등 ALV GRID 컨트롤의 화면 속성을 정의할 수 있다.
▪레이아웃은 LVC_S_LAYO 타입의 STRUCTURE이며 SE11에서 조회할 수 있다.
▪아래 표는 ls_layout의 파라미터이며 어떠한 역할을 할 수 있는지 알아보자.
필드 | 설명 | 목적 |
CTAB_FNAME | 필드 셀의 색상을 지정하다 | 색상 |
CWIDTH_OPT | 컬럼 길이를 지정한다. | GRID 속성 |
DETAILINIT | 상세 화면에서 기본 값을 보여줄 것인지 결정한다. | Interaction |
DETAILTITL | 상세 화면의 타이틀 바를 보여준다 . | Interaction |
EXCP_CONDS | 예외 사항의 필드 Sub Total을 보여준다. | Exceptions |
EXCP_FNAME | 예외 사항 필드를 지정한다. | Exceptions |
EXCP_LED | 예외 사항 필드를 신호등 표시가, 아니라 LED로 보여준다. | Exceptions |
EXCP_ROLLN | 예외 사항 필드에 대한 도움말을 표시한다. | Exceptions |
GRID_TITLE | 타이틀 바의 내역을 지정한다. | GRID 속성 |
INFO_FNAME | 라인의 색상을 지정한다. | 색상 |
KEYHOT | HOTSPOT으로 지정할 KEY 필드를 지정한다. | Interaction |
NO_HEADERS | 칼럼 헤더가 보이지 않는다. | GRID 속성 |
NO_HGRIDLN | GRID의 수평선이 보이지 않는다. | GRID 속성 |
NO_MERGING | 칼럼을 정렬할 때, 같은 값의 셀 합침을 막는다. | GRID 속성 |
NO_ROWMARK | GRID의 라인을 선택할 수 있는 버튼을 없앤다. SEL_MODE = ‘D’ 이면 라인 버튼을 없앰. SEL_MODE = ‘A’ 이면 칼럼/라인 버튼을 없앰. |
GRID 속성 |
NO_TOOLBAR | 툴바를 보이지 않는다. | GRID 속성 |
NO_TOTLONE | Total 라인을 보이지 않는다. | Total 옵션 |
NO_VGRIDLN | GRID의 수직선을 보이지 않는다. | GRID 속성 |
NUMC_TOTAL | NUMC 필드의 합계 금액을 보여준다. | Totals 옵션 |
S_DRAGDROP | DRAG & DROP 컨트롤을 세팅한다. (라인의 복사, 이동 등의 기능) |
Interaction |
SEL_MODE | Selection Mode를 세팅한다.(A, B, C, D, SPACE) | GRID 속성 |
SGL_CLK_HD | 칼럼 헤더를 클릭했을 때 SORT를 수행한다. | Interaction |
SMALLTITLE | Title Size를 결정한다. | GRID 속성 |
TOTALS_BEF | 합계 금액을 맨 위의 라인에 보여준다. | Total 옵션 |
ZEBRA | 라인 단위별로 줄무늬(Stripped) 패턴을 세팅한다. | 색상 |
▪레이아웃 속성은 파라미터를 직접 세팅하면서 실습하면 어렵지 않게 적용할 수 있다.
▪먼저 TOP문에 LVC_S_LAYO 타입의 변수를 생성하여 템플릿의 PBO의 SETTING_ALV부분의 서브루틴에서 레이아웃 속성을 세팅할 수 있다.
▪그리고 ALV 화면을 보여주는 메서드의 파라미터에서 LS_LAYOUT을 추가해주면 내가 지정한 세팅을 GRID ALV에서 보여줄 수 있다.
예시 1.
GS_LAYOUT-cwidth_opt = 'X'. //칼럼 길이 자동조절
GS_LAYOUT-grid_title = 'LAYOUT TEST'. //타이틀 바
GS_LAYOUT-sel_mode = 'D'. //선택모드 : 멀티 선택 가능
GS_LAYOUT-zebra = 'X'. //Sripe 속성 지정
예시 2.
GS_LAYOUT-cwidth_opt = ''. //칼럼 길이 자동조절
GS_LAYOUT-grid_title = 'LAYOUT TEST'. //타이틀 바
GS_LAYOUT-sel_mode = 'B'. //선택모드 : 멀티 선택 가능
GS_LAYOUT-zebra = ''. //Sripe 속성 지정
▪알아두어야 할 것은 LAYOUT이 화면의 속성을 정의하는 것은 맞지만 이 레이아웃 자체에서의 데이터 바꾸거나 제공되는 버튼을 누르는 것의 행위는 GRID 상에서만 이루어지는 것이지 SCREEN의 PBO나 PAI를 타는 것이 아니다.
▪그렇기 때문에 CLASS를 선언해주어서 TOOLBAR에서 버튼을 만들어준다던가 USER_COMMAND에서 버튼에 대한 역할을 주어야지 GRID 상에서 변화나 버튼에 대해서 TABLE이나 DB에 반영시킬 수 있다.
반응형
'SAP ABAP 개발 및 설명 > ALV GRID' 카테고리의 다른 글
CL_GUI_ALV_GRID 기타 메소드 (0) | 2020.08.24 |
---|---|
ALV GRID - 기타 파라미터 (0) | 2020.08.24 |
ALV GRID 필드 카탈로그 (0) | 2020.08.23 |
필드 카탈로그 - lvc_s_fcat 역할정리 (0) | 2020.08.22 |
ALV GRID 템플릿만들기 (0) | 2020.08.21 |