DB 없이 CDS 뷰 테스트 — 3가지 방법 #shorts #SAP #ABAP
개요와 이 글에서 얻어갈 것 ABAP CDS 뷰는 SAP S/4HANA 개발의 심장부에 해당합니다. 하지만 CDS 뷰에 담긴 조인 조건, 필드 계산식, 어소시에이션, Access Control 로직이 복잡해질수록 "실제 DB 데이터로만 검증할 수밖에 없다"는 관성이 생깁니다. 그 결과
개요와 이 글에서 얻어갈 것 ABAP CDS 뷰는 SAP S/4HANA 개발의 심장부에 해당합니다. 하지만 CDS 뷰에 담긴 조인 조건, 필드 계산식, 어소시에이션, Access Control 로직이 복잡해질수록 "실제 DB 데이터로만 검증할 수밖에 없다"는 관성이 생깁니다. 그 결과
이 글에서 다루는 내용과 도달 지점 Fiori Elements 앱에서 사용자가 입력 필드 옆의 돋보기 아이콘(F4)을 눌렀을 때 뜨는 값 도움말(Value Help)은 UX 품질을 좌우하는 핵심 요소입니다. 이 글은 ABAP CDS View에 @Consumption.ValueHelpDe
개요 및 이 글에서 얻어갈 것 CDS(Core Data Services) 뷰를 여러 화면과 리포트에서 재사용하다 보면, 같은 로직인데 필터 값만 다른 뷰를 여러 개 복제하게 되는 상황이 반복됩니다. 예를 들어 "특정 회사코드의 판매오더"를 조회하는 뷰와 "특정 통화의 판매오더"를 조회하
1. CDS Table Function이 필요한 이유 일반 CDS View는 선언형 SQL 기반의 데이터 뷰라는 강점이 있지만, 실제 프로젝트에서 벽에 부딪히는 순간이 있습니다. 예를 들어 매출 데이터를 지역별로 집계하되, 특정 월에만 환율을 재계산해서 반영 하고 싶다거나, 고객별 주문
1. 왜 표준 CDS View를 직접 수정하면 안 되는가 S/4HANA 도입 프로젝트에서 가장 흔하게 마주치는 유혹 중 하나는 "SAP 표준 CDS View에 필드 하나만 슬쩍 추가하면 되지 않을까"라는 발상입니다. 예를 들어 I_SalesOrderItem 에 자사 특화 프로모션 코드
왜 Semantics 어노테이션이 필수인가 ABAP CDS View를 처음 설계할 때 개발자들이 가장 많이 놓치는 부분이 바로 의미 정보(semantics) 입니다. DB 컬럼 관점에서 보면 NET_AMOUNT 는 그저 DEC(15,2) 타입의 숫자일 뿐이고, QUANTITY 도 DEC
개요와 이 글에서 다루는 것 CDS(Core Data Services)의 Association은 ABAP 개발자가 데이터 모델 간 관계를 선언적으로 정의할 수 있게 해주는 강력한 기능입니다. 겉보기에는 SQL JOIN과 비슷해 보이지만, 실제 동작 방식은 완전히 다릅니다. 이 글에서는
개요와 이 글에서 다루는 범위 SAP S/4HANA의 Extended Warehouse Management(EWM) 환경에서 저장 빈(Storage Bin)은 물리적 보관 위치를 식별하는 최소 단위입니다. I_StorageBin 은 LGPLA 테이블 계열을 기반으로 만들어진 CDS 기본
이 글에서 다룰 것 SAP PM(Plant Maintenance) 모듈에서 알림(Notification)의 결함 항목을 조회할 때, 많은 ABAP 개발자가 여전히 QMEL (알림 헤더)과 QMFE (결함 항목) 테이블을 직접 SELECT하고 TQ80T (코드 텍스트) 같은 부가 테이블과
1. I_ServiceOrder가 필요한 이유 — CS 도메인의 데이터 통합 과제 SAP S/4HANA Customer Service(CS) 모듈에서 서비스 오더(Service Order)는 고객 설비의 수리, 정기 점검, 현장 출동 작업 등을 처리하는 핵심 트랜잭션입니다. 기존 ECC
개요 이 글에서는 SAP S/4HANA의 가상 데이터 모델(VDM) 중 하나인 I_CompanyCode CDS 뷰를 다룹니다. I_CompanyCode 는 전통적인 T001 회사 코드 마스터 테이블을 추상화하여 회계 연도(Fiscal Year Variant), 통화, 차트 오브 어카운트
개요 및 이 글에서 다루는 범위 SAP S/4HANA 환경에서 모든 금액 필드는 반드시 통화 코드(Currency Key)와 짝을 이뤄야 합니다. 이때 사용되는 표준 마스터 데이터 뷰가 I_Currency 입니다. 이 글은 TCURC 테이블 기반의 I_Currency CDS 뷰가 어떻게
따옴표 하나가 만든 야근, 타입드 리터럴이 막아준다 금요일 오후 6시, 운영 환경에서 갑작스럽게 떨어진 단가 계산 잡(Job)이 멈춰 섰다. 디버거를 열어보니 원인은 어이없게도 한 줄의 코드였다. DATA(lv_quantity) = '00100'. 작성자는 정수 100을 의도했지만 AB
이 글에서 다루는 내용과 도달 지점 복잡한 분석 쿼리를 작성하다 보면 SELECT 절 안에 또 다른 SELECT가 중첩되고, 동일한 서브쿼리가 두세 번 반복되며, FROM 절에 인라인 뷰가 잔뜩 들어가는 상황을 자주 만나게 됩니다. ABAP 7.50부터 도입된 Open SQL의 WITH
이 글에서 다루는 내용 ABAP 7.40 SP05부터 도입된 @DATA(...) 인라인 선언은 Open SQL의 SELECT 결과를 받기 위해 미리 작업 영역(work area)이나 내부 테이블(internal table) 타입을 선언해야 했던 전통적인 방식을 크게 단순화합니다. 이 글
1. SAP OData 서비스 개발의 역사와 패러다임 전환 SAP의 ABAP 기반 서비스 개발은 지난 15년간 큰 변화를 겪었습니다. 초기 SAP NetWeaver Gateway가 등장하면서 SAP는 SOAP 기반 RFC/BAPI 호출에서 벗어나 OData(REST 기반) 프로토콜을 표
1. BOPF의 시대: 왜 새로운 모델이 필요했나 2010년대 초반 SAP는 ABAP 기반 트랜잭션 애플리케이션의 비즈니스 로직을 표준화하기 위해 BOPF(Business Object Processing Framework)를 도입했습니다. 당시 ABAP 개발자들은 화면(Dynpro),
개요 및 이 글에서 다루는 것 SAP RAP(ABAP RESTful Application Programming Model)을 처음 시작하면 "도대체 어디부터 손을 대야 하지?"라는 질문이 가장 먼저 떠오릅니다. CDS View, Behavior Definition(BDEF), Behav
개요 및 이 글에서 다룰 내용 S/4HANA 환경에서 판매 오더 아이템 데이터를 다루는 일은 매우 빈번합니다. 전통적으로는 VBAP 테이블을 직접 SELECT 했지만, S/4HANA에서는 가상 데이터 모델(VDM)인 I_SalesOrderItem CDS 뷰를 통해 동일한 데이터에 의미론
Action 파라미터 설계의 두 갈래 RAP(RESTful ABAP Programming Model)에서 Action을 구현할 때 개발자가 처음 마주치는 질문이 있다. 파라미터를 어디에 어떻게 정의할 것인가. 일반적인 ABAP 개발 경험을 가진 사람이라면 자연스럽게 딕셔너리 구조체(Da