
String Template vs CONCATENATE 차이점 #shorts #SAP #ABAP
개요: 이 글에서 얻어갈 것 ABAP에서 문자열을 조합할 때 아직도 CONCATENATE 를 쓰고 있다면, 이 글이 코드 스타일을 바꾸는 계기가 될 것입니다. ABAP 7.02부터 도입된 String Template( |...{ }...| ) 문법은 문자열 조합을 한 줄로, 그리고 훨씬

개요: 이 글에서 얻어갈 것 ABAP에서 문자열을 조합할 때 아직도 CONCATENATE 를 쓰고 있다면, 이 글이 코드 스타일을 바꾸는 계기가 될 것입니다. ABAP 7.02부터 도입된 String Template( |...{ }...| ) 문법은 문자열 조합을 한 줄로, 그리고 훨씬

KEKO 테이블의 구조와 원가 견적 도메인 개요 SAP 제품 원가 계산(Product Cost Planning, CO-PC) 영역에서 KEKO 는 수십 년간 원가 견적(Cost Estimate)의 헤더 정보를 담아온 핵심 테이블입니다. 자재별 표준 원가 견적을 생성(CK11N)하고 표시
BNKA 테이블의 구조와 한계 — 왜 직접 SELECT하면 안 되는가 SAP에서 은행 관련 데이터를 다뤄본 개발자라면 BNKA (은행 마스터), T012 (하우스 뱅크), T012K (하우스 뱅크 계좌) 세 테이블을 직접 SELECT하는 코드를 한 번쯤 봤을 것입니다. BNKA는 은행

1. BNKA를 아직도 직접 조회하고 있나요? — 개요와 목표 S/4HANA 이전 시절부터 ABAP를 다뤄온 개발자라면 은행 관련 데이터를 조회할 때 습관적으로 SELECT ... FROM bnka 를 작성해 왔을 것입니다. 하지만 SAP S/4HANA 환경, 특히 클린 코어(Clean

I_WorkCenterCapacity CDS 뷰 개요 — 왜 CRHD를 버려야 하는가 SAP S/4HANA의 생산 관련 개발에서 작업장(Work Center) 능력 데이터를 다룰 때, 많은 개발자가 여전히 CRHD , CRCA , KAKO 테이블을 직접 조인하는 레거시 방식을 사용합니다

개요 — 이 글에서 얻어갈 것 SAP S/4HANA에서 구매 정보 기록(Purchasing Info Record)을 조회할 때, 여전히 EINA와 EINE 테이블을 직접 조인하는 코드를 작성하고 계신가요? 이 글은 표준 CDS View인 I_PurchasingInfo 를 활용해 테이블

I_PhysicalInventoryDocument란? SAP S/4HANA 실사(재고조사) 문서를 조회하는 표준 VDM CDS 뷰입니다. 클래식 ABAP에서 IKPF 테이블을 직접 SELECT하던 방식을 대체합니다. 업그레이드 시 하위 호환성이 보장되고, 파생 필드와 텍스트 조인이 사전

개요 및 이 글에서 다룰 것 SAP UI5 애플리케이션에서 화면에 데이터를 뿌릴 때, 백엔드에서 내려온 원본 값을 그대로 노출하면 사용자 경험이 어색해집니다. 예를 들어 20260714 라는 문자열, 1500000.00 이라는 숫자, P 라는 코드 값은 각각 2026-07-14 , 1,

1. I_SchedulingAgreement가 해결하는 문제 구매 스케줄링 어그리먼트(Scheduling Agreement)는 장기 공급 계약을 체결하고 그 아래에 반복적인 납기 일정(Delivery Schedule Line)을 관리하는 SAP 표준 프로세스입니다. 전통적으로 개발자는
1. I_PurchaseContractItem이 해결하는 문제 구매 계약(Purchasing Contract)은 특정 자재나 서비스를 정해진 기간·조건에 반복 조달하기 위한 아웃라인 협약(Outline Agreement)입니다. SAP ERP 시절에는 EKKO(헤더)/EKPO(아이템)

개요 및 이 글에서 다루는 것 ABAP 개발자라면 CALL FUNCTION 뒤에 무의식적으로 IF sy-subrc <> 0 를 붙이는 습관이 있을 것이다. 하지만 sy-subrc = 4 가 의미하는 바가 "레코드 없음"인지 "권한 오류"인지 "락 실패"인지는 매뉴얼을 뒤져야

개요 및 이 글에서 배우는 것 SAP S/4HANA 환경에서 재무 회계 문서를 조회할 때, 많은 ABAP 개발자들이 여전히 BKPF(회계 문서 헤더)와 BSEG(회계 문서 항목)를 직접 JOIN하는 방식을 사용합니다. 그러나 S/4HANA에서는 이러한 접근이 성능 저하, 유지보수 어려움

개요와 이 글에서 얻어갈 것 CDS(Core Data Services)에서 @Annotation 은 단순한 주석이 아닙니다. Fiori Elements가 자동으로 렌더링하는 리스트 컬럼, OData $metadata에 노출되는 필드의 의미론적 타입, 검색 우선순위, VDM(Virtual
개요와 이 글에서 얻을 것 ABAP 7.40 이후 도입된 REDUCE 는 컬렉션을 단일 값으로 축약(reduce)하는 표현식 기반 구문입니다. 과거에는 합계·최대값·문자열 병합을 위해 DATA 선언 → LOOP AT → 누산 → ENDLOOP 4단계를 거쳐야 했지만, REDUCE 는 이

VBAK 직접 조회의 문제점과 한계 SAP ERP 시절부터 SD 모듈을 다뤄본 개발자라면 VBAK 테이블에 익숙할 것입니다. 견적(Quotation), 수주(Sales Order), 계약(Contract) 등 모든 판매 문서의 헤더가 이 하나의 테이블에 저장되기 때문에, VA21로 생성

개요 및 이 글에서 다루는 것 오래된 ABAP 코드는 대부분 7.02 이전 문법으로 작성되어 있어, 변수 선언이 상단에 몰려 있거나 내부 테이블 처리에 LOOP...MODIFY 패턴이 반복됩니다. ABAP 7.4부터 도입된 New Syntax 는 이러한 코드를 절반 이하 라인으로 줄이면

개요와 이 글에서 다루는 것 ABAP 7.40 이후 도입된 인라인 선언( DATA(...) , FINAL(...) )과 표현식 기반 연산자( VALUE , CORRESPONDING , FILTER , REDUCE , FOR )는 코드를 극적으로 짧게 만들어 줍니다. 그러나 실제 프로젝트

1. 개요 및 이 글에서 다루는 범위 ABAP 개발 현장에서 "테스트는 나중에", "DB에 값 넣고 눈으로 확인하면 되지"라는 관성은 여전히 강합니다. 그러나 S/4HANA 전환과 Clean Core 원칙이 확산되면서, DB 의존 없는 단위 테스트가 품질 게이트의 표준으로 자리잡고 있습

1. CONCATENATE 시대의 종말: 왜 문자열 템플릿인가 ABAP으로 오래 개발해 본 사람이라면 CONCATENATE 구문에 얽힌 크고 작은 상처가 하나쯤 있을 것이다. 변수 5개를 이어 붙이는데 공백이 사라져서 결과가 뭉치거나, SEPARATED BY space 를 깜빡해서 로그

placeholder