CDS Association 3줄 정리 — JOIN 금지 이유 #shorts #SAP #ABAP
개요와 이 글에서 다루는 것 CDS(Core Data Services)의 Association은 ABAP 개발자가 데이터 모델 간 관계를 선언적으로 정의할 수 있게 해주는 강력한 기능입니다. 겉보기에는 SQL JOIN과 비슷해 보이지만, 실제 동작 방식은 완전히 다릅니다. 이 글에서는
개요와 이 글에서 다루는 것 CDS(Core Data Services)의 Association은 ABAP 개발자가 데이터 모델 간 관계를 선언적으로 정의할 수 있게 해주는 강력한 기능입니다. 겉보기에는 SQL JOIN과 비슷해 보이지만, 실제 동작 방식은 완전히 다릅니다. 이 글에서는
1. 이 글에서 다루는 범위와 도달점 SAP BTP(Business Technology Platform) Cockpit은 클라우드 자원을 시각적으로 다루는 관제탑 역할을 합니다. 이 글은 BTP 계정에 처음 로그인하는 개발자가 Cloud Foundry 런타임 환경에서 서비스 인스턴스를
개요 및 학습 흐름 I_FunctionalLocation은 SAP Plant Maintenance(PM) 영역에서 설비·구조물의 물리적 위치를 계층적으로 표현하는 CDS 뷰 엔터티입니다. 기존 IFLOT(Functional Location Master) 테이블과 텍스트 테이블(IFLOT
개요와 이 글에서 얻어갈 것 ABAP 개발자라면 한 번쯤 "랭킹을 구하려고 SELECT 결과를 내부 테이블에 담고 SORT한 뒤 LOOP를 돌리며 카운터를 증가시킨" 경험이 있을 것입니다. 이런 방식은 작동은 하지만 데이터가 수십만 건을 넘어가면 애플리케이션 서버 메모리와 네트워크 전송
개요 및 학습 포인트 ABAP Open SQL의 CASE 표현식은 SELECT 문 내부에서 조건에 따라 값을 분기시킬 수 있는 강력한 기능입니다. 기존에는 데이터를 가져온 후 ABAP 레벨에서 IF/CASE 문으로 가공했다면, CASE 표현식을 사용하면 DB 서버에서 직접 분기 처리하여
개요 및 이번 예제에서 다루는 것 이 글에서는 ABAP Open SQL이 제공하는 내장 문자열 함수를 활용해 데이터베이스 레이어에서 직접 문자열을 가공하는 방법을 다룹니다. 전통적으로 ABAP 개발자는 SELECT로 데이터를 가져온 뒤 LOOP나 CONCATENATE, SHIFT, RE
이 글에서 다루는 내용과 도달 지점 복잡한 분석 쿼리를 작성하다 보면 SELECT 절 안에 또 다른 SELECT가 중첩되고, 동일한 서브쿼리가 두세 번 반복되며, FROM 절에 인라인 뷰가 잔뜩 들어가는 상황을 자주 만나게 됩니다. ABAP 7.50부터 도입된 Open SQL의 WITH
개요 및 이번 예제에서 다룰 내용 ABAP 7.40 SP08부터 도입된 FOR ... GROUPS BY 표현은 내부 테이블을 키 기반으로 그룹화하고 각 그룹별로 집계·요약 데이터를 한 번의 표현으로 생성할 수 있게 해주는 강력한 구문입니다. 기존에는 COLLECT , LOOP AT ..
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 이상에서 비즈니스 객체를 선언적으로 정의하기 위한 프레임워크입니다. 일반적으로 신규 개발이라
개요와 이 글에서 얻어갈 것 FULL OUTER JOIN은 SQL의 조인 종류 중에서도 가장 늦게 손이 가지만, 반대로 한 번 제대로 쓰면 다른 조인으로 풀기 어려운 문제를 단번에 해결해 주는 도구입니다. 특히 SAP HANA처럼 컬럼 스토어 기반 인메모리 엔진에서는 FULL OUTER
이 글에서 다루는 것 SAP HANA를 비롯한 모든 관계형 데이터베이스에서 데이터를 안전하게 변경하려면 트랜잭션(Transaction) 개념을 반드시 이해해야 합니다. 이 글은 SQL의 COMMIT 과 ROLLBACK 을 활용해 트랜잭션을 제어하는 방법을 실무 시나리오 중심으로 설명합니
개요 및 이 글에서 얻어갈 것 온라인 쇼핑몰에서 주문이 들어와 재고를 1개 차감하는 UPDATE를 실행한 직후, 결제 시스템 호출에서 네트워크 오류가 발생했다고 가정해 봅시다. 만약 그 UPDATE가 자동으로 즉시 반영되는 상태였다면 재고는 이미 줄어든 채로 결제는 실패한 모순 상태가
이 글에서 다루는 내용 SAP HANA 기반 시스템에서 SELECT * 구문은 개발 초기에는 편리해 보이지만, 프로덕션 환경에 그대로 배포되면 다양한 성능·유지보수 문제를 일으킵니다. 이 글에서는 SAP HANA Cloud(QRC 2/2024 기준) 및 HANA 2.0 SPS07 환경을
1. 개요 및 이 글에서 다룰 것 SAP HANA Calculation View는 인메모리 컬럼 스토어 위에서 동작하는 가상 데이터 모델로, 잘못 설계하면 수십 GB 메모리를 소모하거나 응답 시간이 수십 초까지 늘어날 수 있습니다. 반대로 노드 순서와 Cardinality, Filter
개요 및 핵심 포인트 ABAP 애플리케이션의 응답 속도는 데이터베이스 왕복 횟수에 크게 좌우됩니다. 코드성 테이블이나 자주 조회되는 마스터 데이터를 매번 DB에서 읽어오면 네트워크 지연과 락 경합이 누적되어 트랜잭션 처리량이 떨어집니다. SAP NetWeaver Application S
ABAP DB Hints — %_HINTS HDB로 인덱스 강제 지정, 조인 전략 힌트로 실행계획 제어, ADT HANA Plan Visualizer 검증까지 3단계로 정리합니다. YouTube: https://youtube.com/shorts/p1KeUV-az6k
1. 개요 및 이 글의 목표 ABAP에서 서로 다른 프로그램, 서브루틴, 함수 모듈, 다이얼로그 사이에 임시 데이터를 주고받아야 하는 상황은 빈번하게 발생합니다. 파라미터로 직접 전달할 수 없는 컨텍스트(예: SUBMIT 호출, CALL TRANSACTION, 모달 팝업 종료 후 결과
1. 개요 및 이 글의 목표 ABAP CDS(Core Data Services)는 단순한 데이터베이스 뷰 정의 언어가 아니라, SAP HANA 옵티마이저에게 의도를 전달하는 선언적 메타데이터 계층 이다. CDS 어노테이션을 적절히 활용하면 같은 SELECT 문이라도 실행 계획이 달라지고
1. 개요 및 이 글에서 얻어갈 것 ABAP Open SQL 또는 ABAP SQL에는 BYPASSING BUFFER 라는 특수한 힌트가 있습니다. 이름 그대로 SAP 애플리케이션 서버에 존재하는 테이블 버퍼 를 우회하고 직접 데이터베이스로 SELECT를 던지는 기능입니다. 처음 본 개발