발주 입력이 날아간다? Draft 활성화로 해결 #shorts #SAP #RAP
Draft란 무엇인가 — RAP에서의 역할과 필요성 Fiori 기반 엔터프라이즈 애플리케이션에서 사용자가 긴 양식을 작성하다가 브라우저를 닫거나 세션이 끊겼을 때 입력값이 모두 사라진다면 어떨까요? Draft는 바로 이 문제를 해결하기 위해 ABAP RESTful Application
Draft란 무엇인가 — RAP에서의 역할과 필요성 Fiori 기반 엔터프라이즈 애플리케이션에서 사용자가 긴 양식을 작성하다가 브라우저를 닫거나 세션이 끊겼을 때 입력값이 모두 사라진다면 어떨까요? Draft는 바로 이 문제를 해결하기 위해 ABAP RESTful Application
I_GoodsMovement 뷰란 무엇인가 SAP S/4HANA에서 자재 이동(Goods Movement)은 입고·출고·전송·재고 조정 등 물류 흐름의 근간을 이루는 트랜잭션입니다. 전통적으로 MM 모듈 개발자는 MKPF(자재 문서 헤더)와 MSEG(자재 문서 아이템)를 직접 JOIN하
개요와 이 글에서 다루는 범위 SAP S/4HANA의 Extended Warehouse Management(EWM) 환경에서 저장 빈(Storage Bin)은 물리적 보관 위치를 식별하는 최소 단위입니다. I_StorageBin 은 LGPLA 테이블 계열을 기반으로 만들어진 CDS 기본
1. I_ServiceOrder가 필요한 이유 — CS 도메인의 데이터 통합 과제 SAP S/4HANA Customer Service(CS) 모듈에서 서비스 오더(Service Order)는 고객 설비의 수리, 정기 점검, 현장 출동 작업 등을 처리하는 핵심 트랜잭션입니다. 기존 ECC
섹션 1. VALUE 연산자의 등장 배경과 ABAP Unit에서의 의미 ABAP 7.40부터 도입된 VALUE 연산자는 구조체나 내부 테이블을 인라인으로 초기화할 수 있게 해주는 핵심 표현식입니다. 특히 ABAP Unit 테스트 코드에서 VALUE 의 가치는 더욱 두드러집니다. 단위 테
개요 및 이 글에서 다루는 범위 I_ProductionOrder는 SAP S/4HANA에서 생산 오더(Production Order) 헤더 정보를 표준화된 형태로 노출하는 기본(Basic) CDS View입니다. 내부적으로 AUFK(오더 마스터)와 AFKO(오더 헤더), AFPO(오더
이 글에서 다루는 것 ABAP 7.40 이상에서 가장 많이 쓰이는 문법 중 하나가 바로 인라인 선언(Inline Declaration)입니다. 특히 Open SQL의 SELECT ... INTO 구문에서 @DATA() 를 활용하면, 결과를 담을 internal table이나 work a
개요 및 이 글에서 다루는 내용 SAP RAP(ABAP RESTful Application Programming Model)에서 Behavior Definition(BDEF)을 작성할 때 가장 먼저 마주치는 갈림길이 바로 managed 와 unmanaged 시나리오의 선택입니다. 잘못
개요 및 핵심 포인트 SAP RAP(RESTful ABAP Programming Model)에서 CDS 뷰는 단순히 "데이터를 보여주는 SQL 래퍼"가 아닙니다. RAP의 계층 아키텍처에서 Interface View와 Projection View는 명확히 분리된 역할을 가지며, 이 분리
개요 및 도입 ABAP에서 연속된 숫자 시퀀스나 날짜 범위를 내부 테이블로 만들어야 하는 상황은 의외로 자주 발생합니다. 월별 매출 집계 슬롯, 회계연도 12개 기간, 발주일로부터 D+30까지의 일자 배열, 페이지네이션 인덱스 등이 대표적입니다. 전통적으로 DO ... ENDDO 루프로
1. SAP OData 서비스 개발의 역사와 패러다임 전환 SAP의 ABAP 기반 서비스 개발은 지난 15년간 큰 변화를 겪었습니다. 초기 SAP NetWeaver Gateway가 등장하면서 SAP는 SOAP 기반 RFC/BAPI 호출에서 벗어나 OData(REST 기반) 프로토콜을 표
개요와 이 글에서 다룰 내용 RAP(ABAP RESTful Application Programming Model)에서 데이터를 읽는 작업은 단순해 보이지만, 실제 트랜잭션 처리에서는 두 가지 전혀 다른 의미를 갖습니다. 단순 조회용 READ ENTITIES 와 수정을 전제로 한 READ
개요 및 이 글에서 다루는 것 SAP RAP(ABAP RESTful Application Programming Model)을 처음 시작하면 "도대체 어디부터 손을 대야 하지?"라는 질문이 가장 먼저 떠오릅니다. CDS View, Behavior Definition(BDEF), Behav
개요 및 학습 흐름 SAP RAP(RESTful ABAP Programming Model)에서 비즈니스 키(primary key)를 어느 시점에 확정할 것인가는 트랜잭션 설계의 근본 결정 사항입니다. RAP는 이를 위해 Early Numbering과 Late Numbering이라는 두
개요와 이 글에서 얻어갈 것 ABAP RESTful Application Programming Model(RAP)을 처음 다루는 개발자가 가장 자주 묻는 질문 중 하나는 "내 코드 어디에도 COMMIT WORK 가 없는데 왜 DB에 데이터가 저장되어 있는가?"이다. 전통적인 ABAP 개
VALUE 연산자가 등장한 배경 ABAP 개발자라면 누구나 한 번쯤 내부 테이블을 채우기 위해 APPEND 구문을 수십 줄씩 반복해 본 경험이 있을 것입니다. 작업 영역(work area)을 선언하고, 필드별로 값을 할당한 뒤, 테이블에 APPEND하고, CLEAR로 초기화하는 패턴은
1. Managed vs Unmanaged — 무엇이 다른가 SAP의 ABAP RESTful Application Programming Model(이하 RAP)은 비즈니스 객체의 동작을 구현하는 두 가지 주요 시나리오를 제공합니다. Managed 시나리오에서는 RAP Framework가
1. Unmanaged RAP가 등장한 배경 ABAP RESTful Application Programming Model(RAP)은 S/4HANA Cloud 및 ABAP Platform 2022 이상에서 비즈니스 객체를 선언적으로 정의하기 위한 프레임워크입니다. 일반적으로 신규 개발이라
외부 API를 OData 표면으로 끌어올리는 RAP Custom Entity의 가치 SAP S/4HANA 또는 BTP ABAP Environment에서 RAP(ABAP RESTful Application Programming Model) 기반으로 Fiori 앱을 만들다 보면, 데이터 소
큰일 났습니다, 당신의 Root View Entity가 잘못 설계됐다면 "분명히 CDS View Entity로 모델링은 끝났는데, 왜 Fiori Elements 화면에서 자식 데이터가 안 나오죠?", "왜 Draft가 활성화 안 되죠?", "왜 트랜잭션 동작이 부모-자식 단위로 묶이지