DATA : 객체명 TYPE REF TO CLASS
CREATE OBJECT 객체명
CONTAINER : ALV를 뿌려줄 때 어떠한 형태로 그릴 것인지 틀을 잡아줌.
해당 위치와 크기를 사용자가 customizing한대로 뿌려줌 → CUSTOM CONTROL 필수
사용자가 정한 위치와 크기가 아닌 프로그램내에서 화면크기 제어 → CUSTOM CONTROL 불필요
사용자가 정한 위치와 크기가 아닌 프로그램내에서 화면크기 제어 → CUSTOM CONTROL 불필요
(좌+우, 위+아래로 하나의화면 내에서 영역을 여러번 쪼개기 가능 / 각각의 CONTAINER 마다 GRID 필요)
실질적으로 METHOD를 호출하기 위해 사용 (CONTAINER안에 GRID를 그려 CL_GUI_ALV_GRID [CLASS]내 SET_TABLE_FOR_FIRST_DISPLAY[METHOD]를 호출)
CL_GUI_CONTAINER(범용적인 클래스)
CL_GUI_CUSTOM_CONTAINER / CL_GUI_DOCKING_CONTAINER / CL_GUI_SPLITTER_CONTAINER(각각의 기능에 따라 파생된 클래스)
DATA : GS_VARIANT TYPE DISVARIANT.
FORM ALV_LAYOUT.
CLEAR GS_VARIANT.
GS_VARIANT-REPORT = SYREPID. "사용자가 레이아웃을 변경, 저장할 수 있도록 함.
GS_VARIANT-USERNAME = SY-UNAME.
ENDFORM.
IS_VARIANT = GS_VARIANT
I_SAVE = 'A' "가장 많이 사용(사용자별로 저장 가능)