CL_GUI_FRONTEND_SERVICES7 [SAP ABAP] 현재 화면 스크린샷 캡처 후 화면에 표시 — GET_SCREENSHOT + CL_GUI_PICTURE (DP_CREATE_URL) SAP GUI 에서 보고 있는 현재 화면을 그대로 캡처해서 다시 화면 안에 이미지로 띄우는 기능이 필요할 때가 있습니다. 예를 들어 결재 화면을 캡처해 증빙으로 보여주거나, 처리 직전 화면 상태를 이미지로 남길 때입니다. ABAP 에서는 표준 서비스 클래스 CL_GUI_FRONTEND_SERVICES 의 화면 캡처 메소드와 이미지 표시 컨트롤 CL_GUI_PICTURE 를 조합하면 됩니다. 핵심은 데이터 형태를 4번 변환하는 흐름입니다. 화면 캡처는 xstring(바이너리 문자열) 으로 나오는데, 이미지 컨트롤은 URL 을 요구하기 때문에 그 사이를 이어주는 변환 단계가 필요합니다. xstring → 바이너리 테이블 → SAP 내부 URL → 이미지 컨트롤 순서입니다. 이 글에서는 화면 캡처 → MIME.. 2026. 5. 29. [SAP ABAP] 파일 업/다운로드 경로 자동 저장·복원 — file_open_dialog initial_directory + SPA/GPA 메모리 ID SAP 리포트에서 사용자가 PC 파일을 업로드 / 다운로드하는 화면을 만들 때, 첫 호출 시에는 사용자가 매번 C 드라이브 최상위부터 폴더를 헤매고, 같은 화면을 다시 열어도 또 처음부터 경로를 찾아 들어가야 합니다. 사용자 경험이 나쁘고 업무 시간도 낭비됩니다. 표준 SAP 에서 이 문제를 해결하는 방법은 이전에 사용한 경로를 어딘가에 저장해 두었다가 다음 호출 시 initial_directory 파라미터로 넘겨주는 것 입니다. 저장 위치는 두 가지 — SPA/GPA 메모리 ID(세션 단위 임시) 와 Z 테이블(사용자별 영구 저장). 시나리오에 따라 선택해서 사용합니다. 이 글에서는 두 방법의 구현 패턴 · 장단점 · 메모리 ID 작명 규칙 · Z 테이블 구조 · 파일 다이얼로그 표준 API(file_.. 2026. 5. 22. [SAP ABAP] ALSM_EXCEL_TO_INTERNAL_TABLE — EXCEL UPLOAD + F4_FILENAME / DOWNLOAD_WEB_OBJECT + 동적 컬럼 매핑 SAP 운영에서 사용자가 보내는 Excel 파일을 받아 CBO 테이블에 한 번에 올리거나, 표준 트랜잭션에 일괄 등록하는 작업은 정말 흔합니다. 가장 검증된 표준 패턴이 SAP 가 함수로 제공하는 ALSM_EXCEL_TO_INTERNAL_TABLE — Excel 파일을 행/열 좌표가 들어간 ALSMEX_TABLINE 구조의 내부 테이블로 변환해줍니다. 핵심 흐름: 파일 선택 다이얼로그 → Excel 읽기 → row/col 좌표로 들어온 데이터를 구조체에 동적 매핑 → 검증 → DB 저장. 추가로 SMW0(웹 오브젝트) 에 양식 파일을 등록해두고 DOWNLOAD_WEB_OBJECT 로 다운로드 버튼까지 붙이면, 사용자가 "양식 받기 → 채우기 → 업로드" 한 사이클을 화면 안에서 끝낼 수 있습니다. 이 글.. 2026. 5. 15. [SAP ABAP] 로컬 PC 파일 선택 — CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG 사용법 (다중 선택) ABAP 프로그램에서 사용자가 로컬 PC의 파일을 선택하도록 유도 해야 하는 상황은 자주 옵니다. Excel 업로드, PDF 표시, 첨부 파일 등록, 일괄 처리 입력 파일 지정 등. 매번 파일 경로를 텍스트로 직접 입력받기는 불편하고 오타 위험도 큽니다. 이때 사용하는 SAP 표준 클래스가 CL_GUI_FRONTEND_SERVICES 의 FILE_OPEN_DIALOG 메서드입니다. Windows 표준 "파일 열기" 다이얼로그를 띄우고, 사용자가 선택한 파일(또는 여러 개) 의 절대 경로를 ABAP 변수로 돌려줍니다. 한 줄짜리 호출이지만 옵션이 풍부합니다. 이 글은 단일·다중 파일 선택, 초기 폴더 지정, 파일 필터 적용, 사용자 취소 처리 까지 자주 쓰는 패턴을 정리한 메모입니다. 폴더(디렉토리) 선택.. 2026. 5. 14. [SAP ABAP] Excel 업로드 한 데이터를 ALV로 바로 보기 — cl_fdt_xl_spreadsheet + cl_salv_table 사용자가 보내준 Excel 데이터를 SAP에 저장하지 않고 ALV로 바로 보기만 하고 싶을 때 가 있습니다. 데이터 검토·검증·임시 분석 같은 작업이죠. CBO 테이블에 저장하는 별도의 업로드 프로그램을 만들기는 과해 보이고, 그렇다고 SE16N에 직접 붙여넣기도 번거롭습니다. SAP NetWeaver 7.40 이상에서는 표준 클래스 cl_fdt_xl_spreadsheet 를 이용해서 Excel 파일을 그대로 ALV로 띄울 수 있습니다. 별도 테이블 정의 없이도 Excel의 첫 행을 헤더로 인식해서 동적 internal table을 만들어주고, SALV factory로 그대로 출력하면 끝. 이 글은 Excel 파일 → 동적 itab → SALV ALV 흐름을 한 화면 ABAP 프로그램으로 구현하는 패턴을.. 2026. 5. 14. [SAP ABAP] 사용자 폴더 경로 선택 — CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE 사용법 ABAP 프로그램에서 파일을 저장하거나 zip을 풀거나 일괄 처리할 때 "사용자가 폴더를 직접 골라서 알려줘야 하는 경우" 가 있습니다. 매번 화면 파라미터로 텍스트 경로를 직접 입력받기는 불편하고, 오타도 나기 쉽습니다. 이럴 때 사용하는 게 SAP 표준 클래스 CL_GUI_FRONTEND_SERVICES 의 DIRECTORY_BROWSE 메서드입니다. Windows 표준 "폴더 찾아보기" 다이얼로그를 띄우고, 사용자가 선택한 폴더의 경로를 변수로 돌려줍니다. 한 줄짜리 호출이라 코드도 짧습니다. 이 글은 DIRECTORY_BROWSE 의 기본 사용법 + 기본 경로 지정(바탕화면 자동 시작) + 관련 다이얼로그 API 비교 를 정리한 메모입니다.핵심 원리DIRECTORY_BROWSE 는 입출력 방향이 .. 2026. 5. 13. 이전 1 2 다음