LIPS JOIN 90%가 놓치는 실수 — I_DeliveryItem CDS #shorts #SAP #ABAP
개요 및 이 글에서 얻어갈 것 SAP S/4HANA 환경에서 배송(Outbound Delivery) 데이터를 조회할 때, 여전히 관행처럼 LIPS(배송 아이템)와 LIKP(배송 헤더) 물리 테이블을 직접 SELECT하는 코드가 많습니다. 이 접근은 몇 년 전까지는 사실상 표준이었지만,
개요 및 이 글에서 얻어갈 것 SAP S/4HANA 환경에서 배송(Outbound Delivery) 데이터를 조회할 때, 여전히 관행처럼 LIPS(배송 아이템)와 LIKP(배송 헤더) 물리 테이블을 직접 SELECT하는 코드가 많습니다. 이 접근은 몇 년 전까지는 사실상 표준이었지만,
개요 및 이 글에서 얻어갈 것 SAP S/4HANA 환경에서 자재 재고를 조회할 때 여전히 MARD 테이블을 직접 SELECT 하는 코드가 남아있는 프로젝트가 많습니다. 하지만 S/4HANA로 넘어오면서 재고 데이터의 저장 구조가 변경되었고, MATDOC 기반의 aggregation 로
이 글의 방향과 확인 포인트 ABAP 개발자라면 한 번쯤은 "여기서 FIELD-SYMBOLS를 써야 하나, 아니면 REF TO로 참조 변수를 만들어야 하나?" 하는 갈림길에 서게 됩니다. 둘 다 "값을 복사하지 않고 원본을 가리킨다"는 공통점이 있지만, 내부 동작 방식과 적합한 시나리오
개요 및 실습 목표 SAP S/4HANA 도입 이후에도 여전히 많은 개발자가 구매 오더 정보를 조회할 때 EKKO (구매 오더 헤더)와 EKPO (구매 오더 아이템) 테이블을 직접 SELECT 하는 관행을 유지하고 있습니다. 이 방식은 익숙하지만 S/4HANA의 Virtual Data
개요 및 이 글에서 다루는 것 S/4HANA 전환 이후 판매 오더 라인 아이템 조회의 표준 접근 방식은 더 이상 VBAP 직접 SELECT가 아닙니다. SAP는 Virtual Data Model(VDM) 계층에서 I_SalesOrderItem 이라는 CDS 뷰를 제공하며, 이를 통해 필
이 글이 답하는 질문 VBAP를 직접 SELECT하던 코드는 왜 S/4HANA에서 문제가 되는가? I_SalesOrderItem CDS 뷰가 제공하는 필드와 관계 구조는 어떻게 되어 있나? 기존 VBAP 쿼리를 I_SalesOrderItem으로 옮길 때 필드 매핑은 어떻게 하나? 필터/
개요 및 이 글에서 다루는 것 SAP S/4HANA를 다루다 보면 I_Material 과 I_Product 라는 두 개의 CDS 뷰를 자주 마주치게 됩니다. 둘 다 자재 마스터의 헤더 정보를 노출하고, 내부적으로는 대부분 MARA 테이블에서 데이터를 가져옵니다. 그런데도 SAP는 왜 두
이 글에서 다루는 내용과 도달 지점 이 글은 S/4HANA 재무 회계 영역에서 지불 문서(Payment Document)를 조회할 때 흔히 저지르는 실수인 BKPF 테이블 직접 JOIN 방식을 벗어나, SAP가 제공하는 표준 CDS 뷰 I_PaymentDocument 를 활용해 데이터
이 글에서 다루는 범위와 도달점 SAP S/4HANA의 PM(Plant Maintenance) 모듈에서 정비 오더는 설비 고장, 예방 정비, 검사 작업을 관리하는 핵심 트랜잭션 객체입니다. 이 글은 I_MaintenanceOrder CDS 뷰가 레거시 AUFK 테이블을 어떻게 의미론적으
저장 위치(Storage Location)란 — 물류 구조에서의 역할 SAP 물류 모듈에서 저장 위치(Storage Location)는 공장(Plant) 하위에 존재하는 재고 관리의 최소 단위입니다. 하나의 Plant 안에 여러 개의 Storage Location이 존재할 수 있으며,
개요 및 핵심 포인트 구매·조달 모듈에서 공급사(Vendor/Supplier) 정보를 가져올 때 여전히 SELECT * FROM lfa1 코드를 그대로 유지하고 있다면, S/4HANA 전환 시점에 큰 리팩터링 부담을 떠안게 됩니다. SAP는 S/4HANA 이후 Virtual Data M
개요 및 이 글에서 다루는 것 S/4HANA 환경에서 회계 라인 아이템을 조회할 때, 여전히 많은 개발자가 습관적으로 SELECT ... FROM bseg 를 작성합니다. 하지만 S/4HANA에서는 이 접근이 매우 위험합니다. BSEG는 여전히 존재하지만, ACDOCA(Universal
이 예제로 얻는 것 SAP S/4HANA 환경에서 구매 요청(Purchase Requisition) 데이터를 조회할 때, 전통적으로는 EBAN 테이블을 직접 SELECT 해왔습니다. 하지만 ABAP Cloud, RAP, Fiori Elements 시대에는 I_PurchaseRequisi
이 예제로 무엇을 얻어갈 수 있는가 SAP S/4HANA 환경에서 구매 오더 아이템 데이터를 다룰 때 개발자들이 가장 먼저 마주치는 선택은 "EKPO를 직접 SELECT할 것인가, 아니면 I_PurchaseOrderItem CDS 뷰를 쓸 것인가"입니다. 이 글에서는 S/4HANA Vi
개요와 이 글에서 얻어갈 것 S/4HANA 환경에서 판매 오더 헤더 데이터를 조회할 때 여전히 VBAK 테이블을 직접 SELECT 하는 코드를 자주 보게 됩니다. 하지만 SAP는 S/4HANA 이후로 판매 오더 헤더 정보를 표준 CDS 뷰인 I_SalesOrder 를 통해 노출하도록 아
개요와 이 글에서 얻어갈 것 ABAP CDS 뷰는 SAP S/4HANA 개발의 심장부에 해당합니다. 하지만 CDS 뷰에 담긴 조인 조건, 필드 계산식, 어소시에이션, Access Control 로직이 복잡해질수록 "실제 DB 데이터로만 검증할 수밖에 없다"는 관성이 생깁니다. 그 결과
이 글에서 다루는 내용과 도달 지점 Fiori Elements 앱에서 사용자가 입력 필드 옆의 돋보기 아이콘(F4)을 눌렀을 때 뜨는 값 도움말(Value Help)은 UX 품질을 좌우하는 핵심 요소입니다. 이 글은 ABAP CDS View에 @Consumption.ValueHelpDe
개요 및 핵심 포인트 SAP 시스템은 태생부터 다국어 환경이었습니다. 독일 본사에서 만든 마스터 데이터가 미국 지사에서는 영어로, 한국 지사에서는 한국어로 표시되어야 하는 요구사항이 기본값이었죠. 전통적인 ABAP 개발자라면 이런 상황에서 반사적으로 "T 테이블(Text 테이블)을 만들
1. CDS Table Function이 필요한 이유 일반 CDS View는 선언형 SQL 기반의 데이터 뷰라는 강점이 있지만, 실제 프로젝트에서 벽에 부딪히는 순간이 있습니다. 예를 들어 매출 데이터를 지역별로 집계하되, 특정 월에만 환율을 재계산해서 반영 하고 싶다거나, 고객별 주문
1. 왜 표준 CDS View를 직접 수정하면 안 되는가 S/4HANA 도입 프로젝트에서 가장 흔하게 마주치는 유혹 중 하나는 "SAP 표준 CDS View에 필드 하나만 슬쩍 추가하면 되지 않을까"라는 발상입니다. 예를 들어 I_SalesOrderItem 에 자사 특화 프로모션 코드