반응형

ABAP 13

[ABAP] TOP OF PAGE

SAP Module Pool 프로그램에서 ALV Grid 상단에 요약 정보를 표시할 때 cl_dd_document를 사용합니다. HTML의 영역처럼 텍스트, 아이콘, 테이블, 링크 등을 자유롭게 배치할 수 있는 동적 문서 오브젝트입니다.1. 전역 변수 선언 abapDATA: gcl_top_con TYPE REF TO cl_gui_container, " 상단 컨테이너 (Splitter에서 꺼낸 것) gcl_doc_top TYPE REF TO cl_dd_document. " TOP OF PAGE 문서 오브젝트 2. 오브젝트 생성 (FORM create_top_doc)cl_dd_document는 프로그램 시작 시 한 번만 CREATE OBJECT 합니다.set_top_page에서는 매번..

ABAP 2026.05.30

[ABAP] SPLITTER 정리

ABAP GUI Module Pool SAP ABAP Splitter Container 완벽 가이드 cl_gui_splitter_container로 화면을 상하·좌우·중첩 분할하는 모든 방법 개요 SAP Module Pool 프로그램에서 하나의 화면을 여러 영역으로 나눌 때 cl_gui_splitter_container를 사용합니다. 이 클래스는 HTML의 grid/flex 레이아웃과 유사하게, rows × columns 격자로 화면을 분할하고 각 셀에서 컨테이너를 꺼내 자식 GUI 오브젝트(ALV Grid, Tree, Chart 등)를 붙이는 방식으로 동작합니다. 핵심 원칙: Splitter는 부모 컨테이너를 분할하는 도구입니다. 최..

ABAP 2026.05.30

[ABAP] SAP ABAP 엑셀 템플릿 다운로드 구현 (SMW0 + DOWNLOAD_WEB_OBJECT)

개요사용자에게 업로드용 엑셀 템플릿을 제공할 때 가장 깔끔한 방법은SMW0에 템플릿 파일을 등록해두고 DOWNLOAD_WEB_OBJECT로 내려받는 패턴임. 1단계 — SMW0 템플릿 등록SMW0 트랜잭션 → Binary Data 선택 → 업로드등록 후 Object ID를 기억해둠 (예: ZPE3QM_EXCEL)SAP는 등록된 파일 정보를 WWWDATA 테이블에 저장함.컬럼설명OBJIDObject ID (SMW0 등록명)RELID데이터 종류 구분 2단계 — 코드 구현① WWWDATA에서 키 조회 abapDATA ls_key TYPE wwwdatatab.SELECT SINGLE * INTO CORRESPONDING FIELDS OF ls_key FROM wwwdata WHERE objid = 'ZP..

ABAP/기초 2026.05.23

[ABAP] ALV 불필요한 툴바 버튼 제거하는법

배경CL_GUI_ALV_GRID 기본 툴바에는 편집용 버튼들이 기본으로 활성화되어 있음.조회 전용 ALV인데 사용자가 행 삭제/추가를 할 수 있으면 UX상 혼란을 줌.it_toolbar_excluding 파라미터로 원하는 버튼만 골라서 제거 가능. "불필요한 툴바 제거 gt_exclude = VALUE #( ( cl_gui_alv_grid=>mc_fc_loc_undo ) "UNDO 제거 ( cl_gui_alv_grid=>mc_fc_loc_cut ) "CUT ( cl_gui_alv_grid=>mc_mb_paste ) "PASTE ..

ABAP/기초 2026.05.23

[ABAP] 도메인 텍스트 매핑

배경ALV에 코드값(SA, 01)만 표시하면 사용자가 의미를 알 수 없음.ZDE3_FI_BLART = SA → 일반전표 처럼 텍스트로 변환해서 보여줘야 함.SAP는 도메인 고정값(Fixed Values)의 텍스트를 DD07T 테이블에 저장함.DD07T 구조컬럼 설명DOMNAME도메인명 (예: ZDE3_FI_BLART)DOMVALUE_L코드값 (예: SA)DDTEXT텍스트 (예: 일반전표)DDLANGUAGE언어키 (WHERE 빠지면 전체 언어 조회됨 주의)코드 분석① 도메인 텍스트 Bulk SELECTSELECT domvalue_l AS key, ddtext INTO TABLE @DATA(lt_stgrd) FROM dd07t WHERE domname EQ 'ZDE3_FI_STGRD'.SORT lt_s..

ABAP/기초 2026.05.23

[ABAP] ALV TREE , EVENT

TOP 선언" ===== 트리 관련 전역 선언 =====" 노드 키 (filter_detail에서 루트 판단)DATA: gv_all_node TYPE lvc_nkey, gv_sel_node TYPE lvc_nkey." 데이터 테이블DATA : BEGIN OF gs_data, END OF gs_data, gt_data LIKE TABLE OF gs_data, " 트리용 마스터 gt_make_tree LIKE TABLE OF gs_data. " 트리 내부 outtab" CDS 기반 그리드용DATA: gs_item TYPE zcds_e3_cm_0001_i, gt_item LIKE TABLE OF gs_item." 컨테이너 / 트리 / 그리드 객체D..

ABAP 2026.05.09

CL_GUI_TIMER - 타이머 이벤트

CL_GUI_TIMER 기본 구조" 선언DATA: gcl_timer TYPE REF TO cl_gui_timer, gcl_handler TYPE REF TO lcl_handler. " 이벤트 핸들러 클래스" 핸들러 클래스CLASS lcl_handler DEFINITION. PUBLIC SECTION. METHODS: on_timer FOR EVENT finished OF cl_gui_timer.ENDCLASS.CLASS lcl_handler IMPLEMENTATION. METHOD on_timer. " 타이머 실행 시 동작할 로직 ENDMETHOD.ENDCLASS. 활용 방안 5가지1. 저장 후 자동 화면 초기화METHOD on_timer. " 2초 후 화면 리셋 PE..

ABAP 2026.04.12
반응형