abap 24

SAP ABAP 매크로(MACRO) 완벽 이해 가이드

안녕하세요. 모델와이입니다.ABAP 매크로(MACRO)는 반복되는 코드를 간결하게 정의하고 재사용할 수 있게 해주는 기능입니다.특히, 루프 내부에서 동일한 조건문이나 반복 계산을 여러 번 사용하는 경우 코드 가독성을 높이고 유지보수를 용이하게 해줍니다.ABAP에서는 매크로를 DEFINE ~ END-OF-DEFINITION. 구문으로 정의하며, 호출 시에는 이름만 입력하면 됩니다.기본 문법DEFINE __MARCO_LOGIC. "Logic 입력 부분END-OF-DEFINITION.매크로는 다음과 같이 최대 9개의 파라미터(&1 ~ &9) 를 사용할 수 있습니다.보통 DEFINE의 이름은 __(언더바 2개)를 네이밍룰로 등록하긴 합니다. (개인차가 있을 순 있습니다.) 예제 1) 반복 메시지 출력 매크로D..

SAP 정보/SAP ABAP 2025.10.31

SAP 즐겨찾기 내역 다운로드 방법

안녕하세요. 모델와이입니다.오늘은 즐겨찾기 내역을 다운로드 하는 방법에 대해서 설명드리겠습니다.즐겨찾기는 사용하는 Transaction을 바로가기로 등록하여 사용하는 내역인데요.해당하는 내역에 대해, 다른 시스템에서 시스템으로 이동하거나 클라이언트를 바꿀 때 옮기는 방법에 대해서 살펴보겠습니다. 즐겨찾기 -> PC에 다운로드를 클릭합니다. 파일이름을 변경한 후 저장을 클릭합니다. 즐겨찾기가 등록되지 않은 곳에 등록합니다.등록도 마찬가지로 진행하시면 됩니다. 기존에 즐겨찾기 내역이 없을 경우엔, 바로 내역이 삽입되나, 기존 즐겨찾기가 있을 경우 삽입 or APPEND를 구분해서 보여줍니다. ★ 삽입은 기존 내역이 모두 제거되고 들어가니 조심하세요. ★ 그리고 만약 한글 내역이 모두 깨질 경우가 ..

SAP 국비지원교육 - AI를 활용한 UI5 어플리케이션 개발 교육 안내

안녕하세요. 모델와이입니다. 고용노동부와 대한상공회의소, SAP가 함께하는 중소기업 근로자 주도 훈련 과정이 개설되었습니다. 이번 과정은 AI를 활용한 UI5 어플리케이션 개발을 주제로 진행되며, SAP UI5 기반 개발과 Joule UI5 코딩 활용, PDF 문서 처리 API 활용까지 실무에 필요한 기술을 폭넓게 다룹니다.국비지원을 해주는 재직자 교육인 만큼 UI5에 대한 설명을 듣기에 적합할 것 같습니다. AI를 활용한 UI5 어플리케이션 개발자세한 사항은 이곳을 클릭하여 확인하세요.s.eventservice.kr 모집 개요모집 대상고용보험 가입 내국인 재직모집 일정접수 마감: 2025년 9월 26일(금) 23시 59분까지선발 발표: 2025년 9월 29일(월) 예정모집 차수1차수: 10월 27일..

SAP ABAP 예외처리 관련 ( TRY-CATCH vs sy-subrc )

안녕하세요 모델와이입니다.SAP ABAP에서 예외처리는 프로그램이 오류 없이 실행되도록 하는 핵심 기법입니다. 언제 TRY-CATCH를 쓰고 언제 sy-subrc를 써야 하는지, 알아보겠습니다.sy-subrc 숫자별 의미sy-subrc는 SAP에서 작업 결과를 나타내는 시스템 변수입니다. 각 숫자가 의미하는 바를 정확히 알아야 올바른 예외처리를 할 수 있습니다.기본 의미sy-subrc = 0 → 성공 (Success)sy-subrc > 0 → 실패 또는 특별한 상황 상황별 sy-subrc 값 SELECT 문에서SELECT SINGLE * FROM mara INTO @DATA(ls_mara) WHERE matnr = @p_matnr." sy-subrc = 0 : 데이터를 찾았음" sy-subrc = 4..

SAP 정보/SAP ABAP 2025.09.10

SAP ABAP Free Selection 동적 조건 처리 실무 가이드

안녕하세요. 모델와이 입니다. SAP 재무 모듈에서 계정잔액을 조회할 때, 표준 프로그램 FAGL_ACCOUNT_BALANCE를 사용하게 됩니다. 하지만 이 프로그램의 selection screen에는 사업영역(RBUSA) 조건이 없어서, 사업영역별로 잔액을 분석하려면 별도의 처리가 필요합니다. 해당 프로그램 화면에서 표시된 임의선택 버튼을 누르게 될 경우아래와 같은 다양한 선택 데이터가 나오게 됩니다.하지만 Call Transaction 등의 로직으로는 Selection-Screen의 있는 데이터가 아니므로 처리할 수가 없습니다.이런 상황에서 Free Selection 기능을 활용하면 표준 프로그램을 수정하지 않고도 원하는 조건을 동적으로 추가할 수 있습니다.전체 프로그램 구조 - 예시 ( Select..

SAP 정보/SAP ABAP 2025.09.03

🚀 SAP SALV 기능 소개

안녕하세요 모델와이 입니다.오늘은 SALV의 기능에 대해서 조금 더 자세하게 소개해보려고 합니다.🔍 SALV란?**SALV (Simple ALV)**는SAP에서 가장 빠르고 간단하게 표 형태의 데이터를 출력할 수 있는 클래스입니다.🧩 SALV의 특징과 한계항목설명컨테이너 불필요CL_SALV_TABLE으로 바로 출력필드카탈로그 자동 생성필요시 LVC 필드카탈로그도 적용 가능툴바/레이아웃 저장표준 기능 제공컬럼 강조/색상/핫스팟LVC 필드카탈로그로 제한적 지원이벤트 핸들링더블클릭/핫스팟/유저커맨드 가능단점다양한 이벤트를 구성하기에 수월하지 않음🎯 확장 기능 예시 ( 로직에 구현 )기능설명컬럼 텍스트 변경LVC 필드카탈로그로 구현컬럼 색상 강조emphasize 활용핫스팟 표시 및 이벤트set_cell_t..

SAP 정보/SAP ABAP 2025.07.23

SAP ABAP 정규표현식 사용

안녕하세요! 😊 모델와이입니다.오늘은 ABAP 개발자라면 꼭 알아야 할 문자열 패턴 비교 방법을 정리해보려고 합니다.SAP ABAP에서 문자열 비교는 생각보다 자주 사용하지만,헷갈리기 쉬운 부분이 많습니다.이번 글에서는 아래 내용을 한 번에 정리해드립니다.✅ CP / LIKE / REGEX 차이✅ 정규표현식 기본 문법✅ ABAP에서의 REGEX 사용법과 실무 예제🔹 1️⃣ ABAP에서 문자열 패턴 비교 방식패턴사용처내역LIKESQL문DB 검색용CPABAP 내부LIKE와 유사 (ABAP용)REGEXABAP 내부복잡한 패턴 처리 가능🔹 2️⃣ LIKE와 CP 차이✅ LIKESQL문에서 사용SELECT * FROM scarr WHERE carrname LIKE 'A%' INTO TABLE @DATA(..

SAP 정보/SAP ABAP 2025.07.21

SAP ABAP IF문 정리 ( 비교연산자 및 IN 조건 확인 )

안녕하세요. 모델와이입니다.오늘은 SAP ABAP에서 가장 기본이지만,실무에서 헷갈리기 쉬운 조건문(IF문) 사용법에 대해 정리해보려고 합니다.특히,문자열 비교 (CA / CO / CP 차이)IN 조건 처리법 (Range 활용)CO에서 * 사용할 때 주의점까지 자세히 설명할 테니,ABAP를 처음 접하신 분이나, 헷갈렸던 분들은 이번 글로 개념을 확실히 잡아가세요!🔹 ABAP IF문 기본 구조ABAP에서 조건문은 이렇게 사용합니다.IF 조건. \" 참일 때 실행ELSEIF 다른조건. \" 다른 조건일 때 실행ELSE. \" 모두 거짓일 때 실행ENDIF.✅ 간단한 예제DATA lv_carrid TYPE scarr-carrid VALUE 'AA'.IF lv_carrid = 'AA'. WRITE..

SAP 정보/SAP ABAP 2025.07.18

SAP ABAP에서 SELECT-OPTION 제어하기

안녕하세요. 모델와이입니다. SAP ABAP 개발을 하다 보면 SELECT-OPTIONS를 자주 사용합니다.SELECT-OPTIONS는 기본적으로 사용자가 다양한 옵션을 입력할 수 있도록 제공하지만실제로는 EQ만 허용하고 싶다거나,INCLUSIVE만 선택하게 하고 싶다는 요구사항이 생기기도 합니다.이럴 때 사용하는 것이 바로 SELECT_OPTIONS_RESTRICT 함수입니다.✅ 기본 개념SELECT_OPTIONS_RESTRICT를 사용하면화면의 다중 조건 입력을 제한할 수 있습니다.허용할 OPTION을 지정 → 예) EQ만 허용허용할 SIGN을 지정 → 예) I만 허용 (E 제외)특정 SELECT-OPTION 필드에만 적용 가능🛠️ 사용 방법1. 옵션 그룹 정의먼저 허용할 옵션을 정의합니다.DATA..

SAP 정보/SAP ABAP 2025.07.17

ABAP Range 변수 정리 - (RANGES / TYPE RANGE OF / SELECT-OPTIONS 비교)

안녕하세요. 모델와이입니다. 오늘은 SAP range 변수에 대해서 알아보겠습니다.SAP ABAP 개발을 하다 보면 SQL문에서 다중 조건을 처리할 일이 많습니다.예를 들어 항공사 테이블 SCARR의 CARRID 항목에서'AA'와 'LH'만 조회하고 싶을 때가 있겠죠.이럴 때 유용하게 사용하는 것이 바로 Range 변수입니다.이번 글에서는 RANGES, TYPE RANGE OF, SELECT-OPTIONS를 모두 비교하고SALV 출력 예제와 도메인 Fixed-value까지 정리해보겠습니다.📌 Range 변수란?Range 변수는 조건을 담는 내부 테이블입니다.다음과 같은 구조를 가지고 있습니다.필드필드설명SIGN포함 여부 ('I' = 포함, 'E' = 제외)OPTION조건 연산자 ('EQ', 'NE', ..

SAP 정보/SAP ABAP 2025.07.16

🧠 SAP CODE 아카데미 1기 완벽 정리 (2025) - ( feat. SAP SYNC )

안녕하세요 모델와이 입니다. SAP 개발자로 커리어를 시작하고 싶다면 주목할 프로그램,바로 SAP CODE 아카데미 1기입니다. SAP SYNC 교육과정이 끝난 후 새로 생긴 교육 과정입니다.SAP 코리아가 직접 주관하는 개발자 양성과정으로, 2025년 하반기부터 첫 기수가 시작됩니다.✅ SAP CODE 아카데미란? CODE는 "Cloud On Development Excellence"의 약자로,SAP 코리아가 클라우드 시대에 맞는 차세대 개발자를 양성하기 위해 만든 9개월 집중 교육 과정입니다.이 과정은 단순한 이론 교육이 아닌,SAP 실무 기술을 중심으로 커리큘럼이 구성되어 있으며풀타임 개발자 양성을 목표로 운영됩니다. 🗓️ 교육 일정 및 정보항목 내용교육 명칭SAP CODE 아카데미 1기주관SA..

SAP CTS 병합 방법 정리

안녕하세요. 모델와이입니다. SAP S/4HANA에서는 여러 개의 개발 요청(Transport Request, 이하 TR)을 관리하거나 병합해야 할 일이 많습니다.이번 글에서는 S/4HANA 기준으로 SE09에서 사용할 수 있는 CTS 병합 방법 3가지를 정리합니다.1️⃣ 태스크 재지정 (Reassign Task)✔ 기능 설명특정 TR에 있는 개별 Task를 다른 TR로 이동시키는 기능입니다.💡 사용 예시여러 개발자가 각각 Task를 만들었으나 최종 릴리즈 시 하나의 TR로 묶고 싶을 때실수로 잘못된 TR에 Task가 생성되었을 때🧭 사용 방법SE09 접속 후 Task가 포함된 TR 선택상단 메뉴: [유틸리티 → 재구성 → 태스크 재지정] 클릭이동할 대상 TR 번호 입력저장 및 확인 태스크 재지정은 ..

SAP ABAP 루프 제어 구문 정리 : ON CHANGE OF, AT NEW, AT END OF, AT FIRST, AT LAST

안녕하세요 모델 와이입니다. SAP ABAP에서 내부 테이블을 순회할 때 특정 조건이나 위치에 따라 다르게 로직을 실행하고 싶을 때 사용하는 전통적인 구문들이 있습니다. 대표적으로 ON CHANGE OF, AT NEW, AT END OF, AT FIRST, AT LAST가 있으며, 이 글에서는 각 구문의 특징과 차이점을 예제와 함께 정리해보겠습니다. 🧩 예제 코드 비교🔹 ON CHANGE OF 예제SORT it_data BY matnr.LOOP AT it_data INTO wa_data. ON CHANGE OF wa_data-matnr. WRITE: / '▶ 자재 변경:', wa_data-matnr. ENDON. WRITE: / wa_data-matnr, wa_data-werks.ENDLO..

SAP 정보/SAP ABAP 2025.05.28

SAP ABAP 날짜 관련 Function Module

안녕하세요 모델와이입니다. SAP ABAP에서는 날짜 계산, 유효성 검사, 공휴일 체크 등 다양한 기능을 손쉽게 처리할 수 있도록 여러 날짜 관련 Function Module(FM)을 제공합니다. 이 글에서는 SAP 개발 실무에서 자주 쓰이는 날짜 관련 FM 14개를 간단한 설명과 함께 예제 코드로 정리해 보았습니다.✅ 1. RP_CALC_DATE_IN_INTERVAL→ 기준일로부터 ± 일/월/년을 더하거나 빼서 날짜 계산DATA: lv_date_from TYPE sy-datum VALUE '20250101', lv_date_to TYPE sy-datum.CALL FUNCTION 'RP_CALC_DATE_IN_INTERVAL' EXPORTING date = lv_date_fr..

SAP 정보/SAP ABAP 2025.05.27

SAP 배치 병렬 처리 (Parallel Processing)란?

안녕하세요 모델와이입니다. SAP에서는 CALL FUNCTION ... STARTING NEW TASK 문법을 이용해 **여러 개의 작업(Task)**을 동시에 실행할 수 있습니다.이는 Dialog Work Process를 여러 개 사용하는 방식으로, CPU 병렬 분산 처리와 유사한 개념입니다.주로 사용하는 상황:대량 전표 처리인터페이스 수신 후 데이터 정제 및 Posting보고서 집계 등 독립적인 작업들을 동시에 수행할 수 있을 때ㄱ. 기본 로직 예시1. 병렬 처리용 RFC Function Module 예시 (ZFI_PARALLEL_TASK)FUNCTION ZFI_PARALLEL_TASK. *" Remote-enabled Function DATA: lv_count TYPE i. LOOP AT it..

SAP 정보/SAP ABAP 2025.04.23

SAP Background Job 관리와 SM37 분석

안녕하세요. 모델와이입니다.SAP 프로젝트 운영이나 구축을 하다 보면 하루에도 수십~수백 개의 Background Job이 실행되며 시스템 핵심 업무를 떠받치고 있습니다.그런데 의외로 많은 분들이 SM37 화면에서 “Canceled”만 보고 끝나는 경우가 많죠.오늘은 실전에서 자주 발생하는 Job 오류 대응법과 튜닝 포인트, 그리고 SM13과 SPOOL을 활용한 디버깅 방법까지 블로그로 정리해보겠습니다. 1. SAP Background Job이란?Background Job은 SAP 내에서 대량 데이터나 반복 업무를 자동으로 수행하기 위한 핵심 기능입니다. 주로 아래와 같은 용도로 사용됩니다:FI Posting (BAPI 또는 Batch Input 방식)외부 인터페이스 수신/송신 처리마감 정산/배치 정리오..

SAP 정보/SAP ABAP 2025.04.18

SAP BP 세금번호 저장 위치 차이: KNA1-STCD2 vs. DFKKBPTAXNUM

안녕하세요! 모델와이입니다.오늘은 SAP S/4HANA에서 FI 모듈을 구축할 때 BP(Business Partner)의 세금번호 저장 위치에 대해 알아보겠습니다. 보통 BP의 세금번호는 KNA1-STCD2 필드에 저장될 것으로 예상하지만, 경우에 따라 DFKKBPTAXNUM 테이블에 저장되는 경우도 있습니다. 이 차이를 이해하면 SAP 설정을 보다 정확하게 파악할 수 있으며, 데이터 조회 및 인터페이스 개발 시 혼선을 줄일 수 있습니다.BP 세금번호 저장 위치 차이란?SAP에서 BP의 세금번호는 입력 방식과 시스템 설정에 따라 KNA1-STCD2 또는 DFKKBPTAXNUM에 저장됩니다.KNA1-STCD2: 고객 마스터 데이터(Customer Master) 필드로, 주로 SD/MM 모듈에서 사용됩니다...

SAP Structure 및 Table 필드 정보 변경 후 ALV 반영되지 않는 경우

안녕하세요. 모델 와이입니다. 오늘은 개발을 하다가 자주 접하는 오류 케이스에 대한 정보를 들고 왔습니다. 모두들 아시다시피 ALV 개발에 있어 다양한 방법의 Field-catalog 생성 방법들이 존재하는데요.그 중 많은 분들이 쓰시고 있는 "LVC_FIELDCATALOG_MERGE" 의 경우 테이블 혹은 구조체의 선언된 내역을 가져와서 생성합니다. 하지만 참조하는 필드가 변경되었을 경우 해당 내역을 즉시 반영하지 못하는 경우가 생기곤 합니다. 그럴 때는 Buffer를 제거해 Sync를 맞춰주어야 내부적인 선언들도 반영처리가 됩니다. 버퍼를 제거하는 방법은 코드로 작성하거나, 직접 명령어를 입력하는 방법이 존재합니다.그럼 해당 내역들을 자세히 알아보겠습니다. 0) SE14  ABAP Dictionary..

SAP 정보/SAP ABAP 2025.02.26

SAP Memory의 활용

안녕하세요. 모델와이입니다. SAP ABAP 개발에서는 프로그램 실행 중 데이터를 유지하고 전달하는 다양한 방법이 제공됩니다.그중 ABAP Memory는 프로그램 간 데이터 공유 및 성능 최적화를 위해 자주 활용됩니다.이번 글에서는 SAP ABAP Memory의 개념, 활용법, 그리고 스탠다드 설정 및 CBO에서의 활용을 다뤄보겠습니다.1. SAP ABAP Memory란?SAP ABAP Memory는 SAP 내부에서 실행되는 프로그램 간 데이터를 공유하는 메커니즘입니다. 이는 메모리 내에서만 유지되므로 속도가 빠르고, 데이터베이스를 거치지 않기 때문에 부하를 줄일 수 있는 장점이 있습니다.SAP에서 사용되는 메모리는 크게 두 가지로 나뉩니다:ABAP Memory: 같은 SAP 세션 내에서 데이터를 공유하..

SAP ABAP Performance Tunning - ST12 , ST03 사용법

안녕하세요. 모델와이입니다.오늘은 개발자들이 개발을 하다보면, 늘 부딪히게 되는 개발튜닝에 대한 내역을 설명드리겠습니다.개발자뿐만 아니라, 운영을 하다보면 컨설턴트와 PI들도 개발자에게 튜닝을 요구하기 위한 좋은 도구라고 생각됩니다.초급개발자일 수록 혹은 SI 혹은 SM을 진행할 때에도 늘 필요한 기능이니 참고하시어 업무에 도움이 되시길 바랍니다. SAP Performance Tuning: 개발자가 꼭 알아야 할 성능 최적화 기법SAP 시스템에서 성능 최적화(Performance Tuning)는 사용자 경험을 향상시키고, 시스템 리소스를 효율적으로 활용하며, 운영 비용을 절감하는 중요한 요소입니다. 특히 ABAP 개발자로서 최적화된 코드를 작성하는 것은 시스템의 안정성과 효율성을 높이는 핵심 역량 중 ..

SAP 정보/SAP ABAP 2025.02.13