ABAP 80%가 모르는 VALUE 초기화 방법 #shorts #SAP #ABAP
개요와 이 글에서 다루는 범위 ABAP 7.40 이후로 도입된 VALUE 연산자는 내부 테이블과 구조체를 다루는 방식을 근본부터 바꿔놓은 표현식 기반 연산자입니다. 이 글은 APPEND 문을 반복적으로 사용하던 전통적인 방식과 비교하여, 선언과 동시에 데이터를 채워 넣는 인라인 초기화
개요와 이 글에서 다루는 범위 ABAP 7.40 이후로 도입된 VALUE 연산자는 내부 테이블과 구조체를 다루는 방식을 근본부터 바꿔놓은 표현식 기반 연산자입니다. 이 글은 APPEND 문을 반복적으로 사용하던 전통적인 방식과 비교하여, 선언과 동시에 데이터를 채워 넣는 인라인 초기화
1. RAP Draft의 역할 — 왜 존재하는가 SAP RAP(RESTful ABAP Programming Model)에서 Draft는 단순한 "임시 저장" 기능이 아닙니다. Fiori Elements UI와 OData V4 백엔드 사이의 상태 관리 계층으로, 사용자가 화면에서 값을 입
OData V2와 V4, 무엇이 어떻게 달라졌나 OData는 SAP가 REST 기반 데이터 액세스 표준으로 채택한 프로토콜이며, 현재 SAP 생태계에는 V2와 V4 두 가지 메이저 버전이 공존합니다. V2는 2010년대 초반부터 SAP Gateway, SAP UI5, Fiori Clas
개요 및 이 글에서 다루는 범위 구매 발주(PO)의 납기는 한 줄이 아니라 여러 라인으로 분할되는 경우가 많습니다. 자재 1000개를 한 번에 받기보다 500개씩 두 차례 나눠 받는 식이죠. 이런 분할 납기 정보를 저장하는 EKET 테이블과, 이를 S/4HANA 환경에서 안전하게 소비할
RAP과 Draft: 왜 처음부터 설계에 포함되었는가 ABAP RESTful Application Programming Model(RAP)을 설계한 SAP 엔지니어링 팀은 단순한 CRUD 프레임워크를 만들고자 했던 것이 아닙니다. 그들이 마주한 문제는 명확했습니다 — 클라우드 환경에서
IF 중첩의 늪 - 코드가 무너지는 순간 ABAP으로 비즈니스 로직을 작성하다 보면 어느 순간 IF/ELSEIF가 5단, 6단까지 중첩되는 코드를 마주하게 됩니다. 주문 상태, 고객 등급, 결제 방식 같은 도메인 분기는 한두 줄로 끝나지 않습니다. 이 글에서는 ABAP 7.4 SP08
1. Managed와 Unmanaged의 갈림길 — 언제 Unmanaged를 선택하는가 RAP(RESTful ABAP Programming Model)는 ABAP Platform 1909 이상(특히 ABAP Cloud 및 S/4HANA 2020+)에서 비즈니스 객체를 선언적으로 정의하는
1. Managed vs Unmanaged — 무엇이 다른가 SAP의 ABAP RESTful Application Programming Model(이하 RAP)은 비즈니스 객체의 동작을 구현하는 두 가지 주요 시나리오를 제공합니다. Managed 시나리오에서는 RAP Framework가
개요 및 핵심 정리 SAP S/4HANA 환경에서 구매 발주(PO)의 납기 관리는 공급망 운영의 핵심입니다. I_ScheduleLine 은 EKET(Scheduling Agreement Schedule Lines) 테이블을 기반으로 하는 표준 CDS View로, 발주 항목별 납기 일정
1. Unmanaged RAP가 등장한 배경 ABAP RESTful Application Programming Model(RAP)은 S/4HANA Cloud 및 ABAP Platform 2022 이상에서 비즈니스 객체를 선언적으로 정의하기 위한 프레임워크입니다. 일반적으로 신규 개발이라
이 글이 답하는 질문 CREATE OBJECT와 NEW 연산자, 무엇이 다른가? 기존 코드를 NEW로 리팩토링하려면 어떻게 해야 할까? 예외 처리, 팩토리 패턴, 단위 테스트에서 NEW를 어떻게 활용하나? NEW #(...)으로 타입 추론이 실패하는 이유는? 이 글을 보기 전에 이 글은
외부 API를 OData 표면으로 끌어올리는 RAP Custom Entity의 가치 SAP S/4HANA 또는 BTP ABAP Environment에서 RAP(ABAP RESTful Application Programming Model) 기반으로 Fiori 앱을 만들다 보면, 데이터 소
개요 및 이 글에서 다루는 핵심 포인트 SAP S/4HANA 환경에서 구매 오더 헤더 데이터를 다룰 때, 과거 ABAP 개발자들은 EKKO 테이블을 직접 SELECT 하는 방식에 익숙했습니다. 그러나 S/4HANA 도입 이후 SAP는 VDM(Virtual Data Model) 기반의 C
개요 및 이 글에서 다루는 내용 SAP S/4HANA 환경에서 판매오더, 자재마스터, 생산오더 등 거의 모든 업무 문서에는 수량 단위(Unit of Measure, UoM)가 등장합니다. 그런데 데이터베이스에는 KG , EA , PC , ST 같은 코드 형태로만 저장되어 있어, 사용자
Action 파라미터 설계의 두 갈래 RAP(RESTful ABAP Programming Model)에서 Action을 구현할 때 개발자가 처음 마주치는 질문이 있다. 파라미터를 어디에 어떻게 정의할 것인가. 일반적인 ABAP 개발 경험을 가진 사람이라면 자연스럽게 딕셔너리 구조체(Da
개요 및 학습 포인트 SAP S/4HANA의 ABAP CDS 모델에서 단위(Unit of Measure)는 거의 모든 트랜잭션 데이터에 따라붙는 핵심 속성입니다. 그러나 데이터베이스 테이블 T006에는 "EA", "KG", "L"과 같은 내부 코드만 저장되어 있고, 사용자가 보는 텍스트
Abstract Entity와 RAP Action 파라미터 설계의 출발점 SAP S/4HANA Cloud Private Edition 2023 및 ABAP Platform 2023 이상에서 RESTful ABAP Programming Model(RAP)을 다루다 보면, Action을 정
개요 및 이 글에서 다루는 것 SAP RAP(RESTful ABAP Programming Model)에서 동일한 라이프사이클이나 동작 패턴을 가진 Business Object(BO)가 늘어나면, 동일한 동작(action), 결정(determination), 검증(validation) 로
개요와 이 글에서 다룰 것 RAP에서 하나의 Business Object를 만들었는데, 부서마다 요구하는 OData 서비스가 다르다면 어떻게 해야 할까요? 같은 데이터를 노출해야 하는데 서비스를 새로 만들 때마다 BO도 복제해야 한다면, 유지보수 지옥이 시작됩니다. Additional
이 글에서 다루는 내용과 도달 지점 SAP S/4HANA의 트랜잭션 데이터에는 수량 필드가 등장할 때마다 거의 항상 단위(UoM, Unit of Measure)가 짝꿍처럼 따라옵니다. 그런데 데이터베이스에 저장된 값은 'KG', 'L', 'ST'처럼 코드 형태일 뿐, 사용자에게 보여줄