BOPF에서 RAP로 — 전환 이유 30초 만에 정리 #shorts #SAP #RAP
1. SAP OData 서비스 개발의 역사와 패러다임 전환 SAP의 ABAP 기반 서비스 개발은 지난 15년간 큰 변화를 겪었습니다. 초기 SAP NetWeaver Gateway가 등장하면서 SAP는 SOAP 기반 RFC/BAPI 호출에서 벗어나 OData(REST 기반) 프로토콜을 표
1. SAP OData 서비스 개발의 역사와 패러다임 전환 SAP의 ABAP 기반 서비스 개발은 지난 15년간 큰 변화를 겪었습니다. 초기 SAP NetWeaver Gateway가 등장하면서 SAP는 SOAP 기반 RFC/BAPI 호출에서 벗어나 OData(REST 기반) 프로토콜을 표
1. BOPF 라이프사이클 구조 — 과거의 표준 S/4HANA 초기와 ECC 기반 Fiori 1.0 시대를 거쳐온 개발자라면 BOPF(Business Object Processing Framework)는 익숙한 이름일 것입니다. BOPF는 비즈니스 오브젝트의 트랜잭션 처리를 일관된 방식
개요 및 학습 흐름 SAP RAP(RESTful ABAP Programming Model)에서 비즈니스 키(primary key)를 어느 시점에 확정할 것인가는 트랜잭션 설계의 근본 결정 사항입니다. RAP는 이를 위해 Early Numbering과 Late Numbering이라는 두
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 앱을 만들다 보면, 데이터 소
개요 및 이 글에서 다룰 내용 SAP RAP(RESTful ABAP Programming Model)에서 Behavior 핸들러는 각각 독립적인 메서드로 호출되며, 같은 트랜잭션 안에서도 핸들러 간 직접적인 변수 공유가 불가능합니다. 특히 Determination 단계에서 계산한 값이나
이 글에서 다루는 내용 SAP HANA 기반 시스템에서 SELECT * 구문은 개발 초기에는 편리해 보이지만, 프로덕션 환경에 그대로 배포되면 다양한 성능·유지보수 문제를 일으킵니다. 이 글에서는 SAP HANA Cloud(QRC 2/2024 기준) 및 HANA 2.0 SPS07 환경을
ABAP 의존성 주입(DI) 3단계 — 인터페이스 선언, 운영·Mock 구현체 작성, 생성자 주입으로 결합도를 낮추고 테스트를 쉽게 만드는 방법
ABAP SM50 워크프로세스 모니터링 가이드. PRIV/HOLD/STOP/WAIT 상태 코드 해석과 TH_SERVER_LIST 활용법.
ABAP에서 동기 CALL FUNCTION 대신 cl_background_jobs로 비동기 백그라운드 잡을 처리하는 방법을 알아봅니다.
개요 및 핵심 포인트 ABAP 애플리케이션의 응답 속도는 데이터베이스 왕복 횟수에 크게 좌우됩니다. 코드성 테이블이나 자주 조회되는 마스터 데이터를 매번 DB에서 읽어오면 네트워크 지연과 락 경합이 누적되어 트랜잭션 처리량이 떨어집니다. SAP NetWeaver Application S
개요 및 핵심 체크리스트 ABAP에서 중첩 구조체를 다룰 때 모든 하위 컴포넌트는 부모 구조체와 동일한 연속 메모리 블록에 한꺼번에 할당됩니다. 이는 작은 구조에서는 문제가 없지만, 거대한 sub-structure를 자주 사용하지 않거나, 자기참조(self-referential) 트리·
1. 개요 및 이 글의 목표 ABAP에서 서로 다른 프로그램, 서브루틴, 함수 모듈, 다이얼로그 사이에 임시 데이터를 주고받아야 하는 상황은 빈번하게 발생합니다. 파라미터로 직접 전달할 수 없는 컨텍스트(예: SUBMIT 호출, CALL TRANSACTION, 모달 팝업 종료 후 결과
1. 개요 및 이 글의 목표 ABAP Objects의 Singleton 패턴 은 특정 클래스의 인스턴스가 단일 세션 내에서 단 하나만 존재하도록 보장하는 객체 생성 패턴입니다. 설정 관리자, 캐시, 로거, 데이터베이스 연결과 같이 시스템 전반에서 동일한 상태를 공유해야 하는 컴포넌트를
개요 — window 전역 변수와 결별하기 UI5 화면을 처음 만들 때 가장 흔한 실수 중 하나가 window.currentSalesOrderId = 4711; 같은 코드입니다. 빠르게 동작하기 때문에 유혹적이지만, 이 한 줄은 향후 수개월간 디버깅 지옥을 예약하는 행위와 같습니다. 이
개요와 이 글에서 얻어갈 것 ABAP 개발을 하다 보면 화면이 바뀌어도 값이 살아남아야 하거나, 서브루틴/펑션 모듈로 큰 내부 테이블을 넘겨야 하는 상황이 자주 발생합니다. 이때 등장하는 두 가지 메모리 영역이 바로 SAP Memory 와 ABAP Memory 입니다. 이름이 비슷해 혼
딥 구조체가 메모리에서 어떻게 동작하는가 ABAP 내부 테이블의 한 라인이 또 다른 내부 테이블이나 STRING을 필드로 가지는 구조를 딥 구조체(Deep Structure)라고 부릅니다. 평범하게 보이지만 메모리 관점에서는 라인마다 별도의 힙(heap) 블록을 잡기 때문에, 수만 라인
왜 EventBus가 필요한가 대형 SAP Fiori 애플리케이션은 보통 여러 개의 Component로 쪼개져 있습니다. 주문 목록을 보여주는 컴포넌트, 주문 상세를 띄우는 컴포넌트, 사이드 알림 패널을 다루는 컴포넌트가 서로 다른 페이지·다른 라이프사이클을 가진 상태에서 "방금 사용자
Statement Memory란 무엇인가 SAP HANA의 Statement Memory는 단일 SQL 문(statement)이 실행되는 동안 소비할 수 있는 최대 메모리 양을 제어하는 메모리 관리 체계다. 컬럼스토어 기반의 HANA는 복잡한 집계, 조인, 분석 쿼리를 인메모리로 처리하