MCHB 직접 SELECT 금지 — CDS로 30초 전환 #shorts #SAP #ABAP
개요 및 이 글에서 다루는 범위 S/4HANA 환경에서 배치(Batch) 관리 자재의 재고 조회는 오랫동안 MCHB , MCHA , MCH1 같은 클래식 테이블 직접 SELECT에 의존해 왔습니다. 그러나 SAP S/4HANA 1809 이후 배치별 재고 스냅샷은 MATDOC 기반의 CD
개요 및 이 글에서 다루는 범위 S/4HANA 환경에서 배치(Batch) 관리 자재의 재고 조회는 오랫동안 MCHB , MCHA , MCH1 같은 클래식 테이블 직접 SELECT에 의존해 왔습니다. 그러나 SAP S/4HANA 1809 이후 배치별 재고 스냅샷은 MATDOC 기반의 CD
개요 및 이 글에서 얻어갈 것 SAP S/4HANA 환경에서 배송(Outbound Delivery) 데이터를 조회할 때, 여전히 관행처럼 LIPS(배송 아이템)와 LIKP(배송 헤더) 물리 테이블을 직접 SELECT하는 코드가 많습니다. 이 접근은 몇 년 전까지는 사실상 표준이었지만,
개요 및 이 글에서 얻어갈 것 SAP S/4HANA 환경에서 자재 재고를 조회할 때 여전히 MARD 테이블을 직접 SELECT 하는 코드가 남아있는 프로젝트가 많습니다. 하지만 S/4HANA로 넘어오면서 재고 데이터의 저장 구조가 변경되었고, MATDOC 기반의 aggregation 로
이 글에서 다루는 것과 도달 지점 S/4HANA 환경에서 공급사 인보이스(Supplier Invoice, MIRO/MIR7로 등록된 문서)를 조회할 때 여전히 RBKP·RSEG 테이블을 직접 SELECT하는 코드가 많습니다. 이 접근은 R/3 시대의 유산이며, S/4HANA 이후에는 릴
개요 및 실습 목표 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의 PM(Plant Maintenance) 모듈에서 정비 오더는 설비 고장, 예방 정비, 검사 작업을 관리하는 핵심 트랜잭션 객체입니다. 이 글은 I_MaintenanceOrder CDS 뷰가 레거시 AUFK 테이블을 어떻게 의미론적으
개요 및 핵심 포인트 구매·조달 모듈에서 공급사(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 를 통해 노출하도록 아
이 글에서 다루는 내용과 도달 지점 Fiori Elements 앱에서 사용자가 입력 필드 옆의 돋보기 아이콘(F4)을 눌렀을 때 뜨는 값 도움말(Value Help)은 UX 품질을 좌우하는 핵심 요소입니다. 이 글은 ABAP CDS View에 @Consumption.ValueHelpDe
1. VDM이란 무엇인가 — 탄생 배경과 설계 목적 VDM(Virtual Data Model)은 SAP S/4HANA에서 데이터베이스 테이블을 그대로 노출하지 않고, 의미 있는 비즈니스 개체(엔티티) 단위로 재조립해 제공하기 위한 CDS(Core Data Services) 기반의 논리적
1. 개요 및 무엇을 얻어갈 것인가 SAP S/4HANA 환경에서 CDS(Core Data Services) 뷰를 작성하다 보면 I_SalesOrder , C_SalesOrderTP , P_SalesOrderCube 같은 접두사가 붙은 이름들을 마주치게 됩니다. 이 접두사들은 단순한 명
개요 및 핵심 포인트 SAP 시스템은 태생부터 다국어 환경이었습니다. 독일 본사에서 만든 마스터 데이터가 미국 지사에서는 영어로, 한국 지사에서는 한국어로 표시되어야 하는 요구사항이 기본값이었죠. 전통적인 ABAP 개발자라면 이런 상황에서 반사적으로 "T 테이블(Text 테이블)을 만들
개요 및 이 글에서 얻어갈 것 CDS(Core Data Services) 뷰를 여러 화면과 리포트에서 재사용하다 보면, 같은 로직인데 필터 값만 다른 뷰를 여러 개 복제하게 되는 상황이 반복됩니다. 예를 들어 "특정 회사코드의 판매오더"를 조회하는 뷰와 "특정 통화의 판매오더"를 조회하
1. CDS 세션 변수가 필요한 이유 ABAP CDS에서 뷰를 작성하다 보면 "지금 접속한 사용자가 담당한 오더만 보여줘"라거나 "오늘 만료되는 계약만 조회해줘"와 같은 요구를 자주 받게 됩니다. 이때 화면에서 파라미터를 매번 넘겨받아 처리하면 개발자·사용자 모두 피곤합니다. CDS $
1. CDS Table Function이 필요한 이유 일반 CDS View는 선언형 SQL 기반의 데이터 뷰라는 강점이 있지만, 실제 프로젝트에서 벽에 부딪히는 순간이 있습니다. 예를 들어 매출 데이터를 지역별로 집계하되, 특정 월에만 환율을 재계산해서 반영 하고 싶다거나, 고객별 주문