T001W 직접 조회하면 큰일 — I_Plant CDS #shorts #SAP #ABAP
I_Plant가 필요한 이유 — T001W 직접 조회의 함정 SAP S/4HANA 환경에서 플랜트(Plant, 공장/사업장) 정보를 조회할 때 여전히 많은 개발자가 습관적으로 T001W 테이블을 직접 SELECT합니다. 하지만 클라우드/온프레미스 하이브리드 시대에는 이 접근이 위험 요소
I_Plant가 필요한 이유 — T001W 직접 조회의 함정 SAP S/4HANA 환경에서 플랜트(Plant, 공장/사업장) 정보를 조회할 때 여전히 많은 개발자가 습관적으로 T001W 테이블을 직접 SELECT합니다. 하지만 클라우드/온프레미스 하이브리드 시대에는 이 접근이 위험 요소
개요 및 이 글에서 얻어갈 것 SAP S/4HANA 및 ABAP CDS 기반 개발을 하다 보면 I_SalesOrder , C_SalesOrderTP 같은 접두사가 붙은 CDS View를 자주 만나게 됩니다. 이 두 종류는 이름만 다른 게 아니라 Virtual Data Model(VDM)
개요와 이 글에서 얻어갈 것 ABAP CDS와 RAP(RESTful ABAP Programming Model)를 다루다 보면 association to 와 composition of 두 키워드를 매일 마주치게 됩니다. 문법은 비슷해 보이지만, 두 관계는 라이프사이클(생성/수정/삭제) 관
KNA1 직접 접근이 왜 문제인가 SAP ERP 시대에 ABAP 개발자에게 KNA1 은 고객 마스터의 대명사였습니다. 고객 코드, 이름, 국가, 도시, 계정 그룹 등 기본 속성이 이 테이블 하나에 담겨 있었기에 SELECT 문 대부분이 SELECT * FROM kna1 WHERE kun
개요 및 이 글에서 다루는 것 SAP S/4HANA 환경에서 품질 관리(QM) 데이터를 분석하거나 확장 앱을 개발할 때, 검사 특성 결과(Inspection Characteristic Result)는 가장 자주 참조되는 데이터입니다. 과거 ECC 시절부터 개발자들은 QAMV, QAMR,
I_CustomerInvoice CDS 뷰 개요 — BSID와 무엇이 다른가 SAP S/4HANA에서 고객 인보이스 데이터를 조회할 때 전통적으로 개발자들은 BSID(미결 고객 항목)와 BSAD(완결 고객 항목) 테이블을 직접 액세스해 왔습니다. 그러나 S/4HANA 이후 이러한 클래식
이 글에서 다루는 문제와 도달점 S/4HANA 환경에서 생산 오퍼레이션 데이터를 조회할 때 여전히 많은 개발자가 AFVC 테이블을 직접 SELECT 합니다. 이 방식은 클래식 ECC 시절의 관성이지만, S/4HANA에서는 표준 CDS 뷰 I_ProductionOrderOperation
개요와 이 글에서 얻어갈 것 S/4HANA 환경에서 생산 오더의 BOM 컴포넌트를 조회할 때, 여전히 많은 코드베이스가 RESB 테이블을 직접 SELECT 하고 있습니다. RESB는 예약(Reservation)과 종속소요량을 함께 담는 레거시 테이블이라 필드 의미가 복잡하고, 생산 오더
개요 및 이 글에서 다루는 범위 S/4HANA 환경에서 배치(Batch) 관리 자재의 재고 조회는 오랫동안 MCHB , MCHA , MCH1 같은 클래식 테이블 직접 SELECT에 의존해 왔습니다. 그러나 SAP S/4HANA 1809 이후 배치별 재고 스냅샷은 MATDOC 기반의 CD
개요 및 이 글에서 얻어갈 것 SAP S/4HANA 환경에서 자재 재고를 조회할 때 여전히 MARD 테이블을 직접 SELECT 하는 코드가 남아있는 프로젝트가 많습니다. 하지만 S/4HANA로 넘어오면서 재고 데이터의 저장 구조가 변경되었고, MATDOC 기반의 aggregation 로
이 글이 답하는 질문 VBAP를 직접 SELECT하던 코드는 왜 S/4HANA에서 문제가 되는가? I_SalesOrderItem CDS 뷰가 제공하는 필드와 관계 구조는 어떻게 되어 있나? 기존 VBAP 쿼리를 I_SalesOrderItem으로 옮길 때 필드 매핑은 어떻게 하나? 필터/
개요 및 이 글에서 다루는 것 SAP S/4HANA를 다루다 보면 I_Material 과 I_Product 라는 두 개의 CDS 뷰를 자주 마주치게 됩니다. 둘 다 자재 마스터의 헤더 정보를 노출하고, 내부적으로는 대부분 MARA 테이블에서 데이터를 가져옵니다. 그런데도 SAP는 왜 두
이 글에서 다루는 범위와 도달점 SAP S/4HANA의 PM(Plant Maintenance) 모듈에서 정비 오더는 설비 고장, 예방 정비, 검사 작업을 관리하는 핵심 트랜잭션 객체입니다. 이 글은 I_MaintenanceOrder CDS 뷰가 레거시 AUFK 테이블을 어떻게 의미론적으
개요와 이 글에서 얻어갈 것 S/4HANA 환경에서 판매 오더 헤더 데이터를 조회할 때 여전히 VBAK 테이블을 직접 SELECT 하는 코드를 자주 보게 됩니다. 하지만 SAP는 S/4HANA 이후로 판매 오더 헤더 정보를 표준 CDS 뷰인 I_SalesOrder 를 통해 노출하도록 아
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 $
왜 Semantics 어노테이션이 필수인가 ABAP CDS View를 처음 설계할 때 개발자들이 가장 많이 놓치는 부분이 바로 의미 정보(semantics) 입니다. DB 컬럼 관점에서 보면 NET_AMOUNT 는 그저 DEC(15,2) 타입의 숫자일 뿐이고, QUANTITY 도 DEC