ABAP 개발자 90%가 모르는 FOR THEN UNTIL 패턴 #shorts #SAP #ABAP
개요 및 학습 포인트 ABAP 7.52부터 정식 지원되는 FOR ... THEN ... UNTIL 표현식은 단순한 반복 카운터를 넘어, 수학적 수열(arithmetic/geometric sequence)을 한 줄의 인라인 표현식으로 만들어내는 강력한 기능입니다. 전통적인 DO ... E
개요 및 학습 포인트 ABAP 7.52부터 정식 지원되는 FOR ... THEN ... UNTIL 표현식은 단순한 반복 카운터를 넘어, 수학적 수열(arithmetic/geometric sequence)을 한 줄의 인라인 표현식으로 만들어내는 강력한 기능입니다. 전통적인 DO ... E
개요 및 도입 ABAP에서 연속된 숫자 시퀀스나 날짜 범위를 내부 테이블로 만들어야 하는 상황은 의외로 자주 발생합니다. 월별 매출 집계 슬롯, 회계연도 12개 기간, 발주일로부터 D+30까지의 일자 배열, 페이지네이션 인덱스 등이 대표적입니다. 전통적으로 DO ... ENDDO 루프로

개요 및 이 글에서 다룰 것 고객 반품(Customer Return)은 매출 환입, 재고 복원, 환불 정산이 동시에 얽힌 복잡한 프로세스입니다. 전통적인 ABAP 개발에서는 VBAK/VBAP를 직접 조회하면서 오더 타입을 'RE'로 필터링하는 패턴이 흔했지만, S/4HANA에서는 I_C

개요 I_BillingDocument는 SAP S/4HANA의 표준 인터페이스 뷰(Interface View)로, 전통적인 SD 모듈의 청구 문서 헤더 테이블 VBRK를 가상 데이터 모델(VDM, Virtual Data Model)로 추상화한 핵심 CDS 뷰입니다. 이 글에서는 VBRK

REDUCE 연산자가 필요한 이유 ABAP 개발자라면 누구나 한 번쯤은 LOOP AT ... INTO ... WHERE ... 블록 안에서 누적 변수를 하나씩 더해본 경험이 있을 것입니다. 판매 주문 금액의 총합을 구하거나, 특정 자재 그룹의 재고 수량을 합산하거나, 평균 단가를 계산할

개요와 이번 글에서 다루는 범위 SAP S/4HANA의 배송(Delivery) 영역은 SD(Sales & Distribution)와 MM(Materials Management)의 교차점에 위치하며, 주문에서 출고까지의 흐름을 추적하는 핵심 트랜잭션 데이터입니다. 전통적으로 LIK
개요와 이번 글에서 다루는 범위 SAP S/4HANA의 배송(Delivery) 영역은 SD(Sales & Distribution)와 MM(Materials Management)의 교차점에 위치하며, 주문에서 출고까지의 흐름을 추적하는 핵심 트랜잭션 데이터입니다. 전통적으로 LIK

FILTER란 무엇인가 — 핵심 개념과 등장 배경 ABAP 7.40 SP08부터 도입된 FILTER 연산자는 내부 테이블에서 특정 조건을 만족하는 행만 골라내어 새로운 내부 테이블로 반환하는 표현식 기반 필터링 도구입니다. 기존에는 LOOP AT ... WHERE 로 한 줄씩 순회하며

개요 및 이 글에서 다룰 내용 S/4HANA 환경에서 판매 오더 아이템 데이터를 다루는 일은 매우 빈번합니다. 전통적으로는 VBAP 테이블을 직접 SELECT 했지만, S/4HANA에서는 가상 데이터 모델(VDM)인 I_SalesOrderItem CDS 뷰를 통해 동일한 데이터에 의미론

1. 이 글에서 다루는 범위와 도달 지점 S/4HANA 환경에서 판매 오더 아이템 정보를 조회할 때, 더 이상 VBAP 테이블을 직접 SELECT하는 것은 권장되지 않습니다. 대신 SAP가 제공하는 가상 데이터 모델(Virtual Data Model, VDM) 계층의 I_SalesOrd

개요 및 이 글에서 다루는 내용 SAP S/4HANA의 SD(Sales & Distribution) 영역에서 판매 오더를 다루다 보면 가장 먼저 마주치게 되는 테이블이 VBAK(판매 오더 헤더)입니다. 그러나 S/4HANA 환경에서는 더 이상 VBAK를 직접 SELECT 하기보다
개요 및 핵심 포인트 이 글은 SAP S/4HANA의 표준 CDS View인 I_SupplierInvoice 를 RBKP 테이블 구조와 FI(Financial Accounting) 연계 관점에서 다룹니다. MM-IV(Invoice Verification) 프로세스에서 생성된 공급업체 인

RBKP를 직접 쓰면 안 되는 이유 SAP S/4HANA 환경에서 공급업체 인보이스(Vendor Invoice) 데이터를 다룰 때 가장 흔하게 마주치는 유혹은 RBKP 테이블을 직접 SELECT하는 방식입니다. RBKP는 MM-IV(Logistics Invoice Verification
개요 및 학습 체크리스트 ABAP 7.40 이후 도입된 VALUE 연산자는 내부 테이블이나 구조체를 선언과 동시에 채워 넣을 수 있게 해주는 인라인 생성 표현식입니다. 기존에는 빈 테이블을 만든 뒤 APPEND 문장을 여러 번 반복해야 했지만, 이제는 한 줄의 표현식으로 동일한 작업을

VALUE 연산자가 등장한 배경 ABAP 개발자라면 누구나 한 번쯤 내부 테이블을 채우기 위해 APPEND 구문을 수십 줄씩 반복해 본 경험이 있을 것입니다. 작업 영역(work area)을 선언하고, 필드별로 값을 할당한 뒤, 테이블에 APPEND하고, CLEAR로 초기화하는 패턴은

개요와 이 글에서 다루는 범위 ABAP 7.40 이후로 도입된 VALUE 연산자는 내부 테이블과 구조체를 다루는 방식을 근본부터 바꿔놓은 표현식 기반 연산자입니다. 이 글은 APPEND 문을 반복적으로 사용하던 전통적인 방식과 비교하여, 선언과 동시에 데이터를 채워 넣는 인라인 초기화
1. EKET 테이블이란 무엇인가 — 구매 납기일정의 원본 SAP ERP/S/4HANA의 구매 모듈에서 가장 빈번하게 조회되는 테이블 중 하나가 바로 EKET 입니다. EKET는 "Einkaufsbelegterminierung"의 약어로, 풀어쓰면 Purchasing Document:

개요 및 이 글에서 다루는 범위 구매 발주(PO)의 납기는 한 줄이 아니라 여러 라인으로 분할되는 경우가 많습니다. 자재 1000개를 한 번에 받기보다 500개씩 두 차례 나눠 받는 식이죠. 이런 분할 납기 정보를 저장하는 EKET 테이블과, 이를 S/4HANA 환경에서 안전하게 소비할

IF 중첩의 늪 - 코드가 무너지는 순간 ABAP으로 비즈니스 로직을 작성하다 보면 어느 순간 IF/ELSEIF가 5단, 6단까지 중첩되는 코드를 마주하게 됩니다. 주문 상태, 고객 등급, 결제 방식 같은 도메인 분기는 한두 줄로 끝나지 않습니다. 이 글에서는 ABAP 7.4 SP08

개요 및 핵심 정리 SAP S/4HANA 환경에서 구매 발주(PO)의 납기 관리는 공급망 운영의 핵심입니다. I_ScheduleLine 은 EKET(Scheduling Agreement Schedule Lines) 테이블을 기반으로 하는 표준 CDS View로, 발주 항목별 납기 일정