CL_GUI_DOCKING_CONTAINER4 [SAP ABAP] ALV 전체화면으로 띄우기 — Docking extension vs cl_gui_container=>default_screen (Full Screen) ALV 를 화면 일부가 아니라 화면 전체에 꽉 차게 띄우고 싶을 때가 많습니다. 보고서 출력처럼 데이터를 넓게 봐야 하는 화면이 대표적입니다. SAP 에서 ALV 전체화면을 만드는 방법은 크게 두 가지입니다. 하나는 Docking 컨테이너의 extension 을 아주 크게(예: 3000) 주는 방법, 다른 하나는 cl_gui_container=>default_screen 을 부모 컨테이너로 사용하는 방법 입니다. 후자는 SE51 Custom Control 도, Docking 생성도 필요 없이 현재 화면 전체를 컨테이너로 그대로 쓸 수 있어 가장 간결합니다. 이 글에서는 두 방법의 차이 → Docking extension 방식 → default_screen 방식 → 언제 무엇을 쓸지까지 정리합니다. 단일 .. 2026. 5. 29. [SAP ABAP] CL_GUI_DOCKING_CONTAINER 단독 사용 — SE51 없이 ALV 한 개 빠르게 띄우기 (DOCK_AT_LEFT · extension · IS NOT BOUND) ALV 그리드를 메인 화면에 가장 빠르게 띄우는 컨테이너가 CL_GUI_DOCKING_CONTAINER 입니다. 이름 그대로 "Dock(부두에 배 대듯이) 화면 한 쪽에 영역을 자동으로 붙여주는" 컨테이너 — SE51 의 Custom Control 'AREA' 를 그릴 필요 없이 코드 한 줄로 부착됩니다. Custom Container · Splitter · Easy Splitter 가 모두 SE51 Layout 에 Custom Control 을 먼저 배치해야 한다면, Docking 은 SE51 화면을 빈 상태로 두고 코드만으로 ALV 영역을 만들 수 있다 는 점이 가장 큰 강점. 빠른 시제품(prototype) · 표준 보고서 · 간단한 한 페이지짜리 ALV 출력에 가장 자주 쓰이는 패턴입니다. 이 글.. 2026. 5. 27. [SAP ABAP] CL_GUI_SPLITTER_CONTAINER + DOCKING 으로 ALV 분할 화면 — SE51 없이 코드만으로 만드는 법 (ALV) ALV 두 개를 한 화면에 좌/우(또는 위/아래) 로 보여주는 가장 유연한 방법이 CL_GUI_SPLITTER_CONTAINER 입니다. 행/열을 자유롭게 지정해서 N분할이 가능하다는 점에서 항상 2분할 고정인 CL_GUI_EASY_SPLITTER_CONTAINER 와 다릅니다. 여기서 한 단계 더 — Splitter 의 부모 컨테이너를 SE51 의 Custom Control 이 아니라 CL_GUI_DOCKING_CONTAINER 로 잡으면 SE51 화면 페인터를 거치지 않고도 코드만으로 화면 영역을 만들 수 있습니다. Custom Control 'AREA' 를 그릴 필요 없이 Docking 이 자동으로 화면 한쪽에 영역을 붙여줍니다 — 빠른 시제품(prototype) 이나 표준 보고서 화면을 만들 때 .. 2026. 5. 27. [SAP ABAP] ALV 백그라운드 DUMP 방지 — cl_gui_alv_grid=>offline( ) 분기로 Container 안전 생성 (SM36) ALV 리포트를 SE38 이나 T-Code 로 다이얼로그(Dialog) 모드에서 돌릴 때는 잘 동작하다가, 같은 리포트를 백그라운드 잡(BATCH) 으로 SM36 에서 예약·실행하면 갑자기 CNTL_ERROR 또는 CREATE_ERROR 같은 ST22 덤프가 떨어지는 경우가 흔합니다. 원인은 GUI 가 없는 환경에서 Container 객체를 생성하려 했기 때문. CL_GUI_DOCKING_CONTAINER·CL_GUI_CUSTOM_CONTAINER 같은 GUI 컨테이너는 SAP GUI 가 떠 있는 세션에서만 생성 가능. 배치 잡은 GUI 가 없으므로 Container 생성 자체가 실패합니다. 해결책은 단순 — GUI 모드인지 백그라운드 모드인지 사전에 체크해서 Container 생성을 건너뛰기. 그 체크.. 2026. 5. 27. 이전 1 다음