테이블 Buffering 3가지 — Full·Generic·Single 완전 비교 #shorts #SAP #ABAP
개요 및 핵심 포인트 ABAP 애플리케이션의 응답 속도는 데이터베이스 왕복 횟수에 크게 좌우됩니다. 코드성 테이블이나 자주 조회되는 마스터 데이터를 매번 DB에서 읽어오면 네트워크 지연과 락 경합이 누적되어 트랜잭션 처리량이 떨어집니다. SAP NetWeaver Application S
개요 및 핵심 포인트 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를 던지는 기능입니다. 처음 본 개발
Statement Memory란 무엇인가 SAP HANA의 Statement Memory는 단일 SQL 문(statement)이 실행되는 동안 소비할 수 있는 최대 메모리 양을 제어하는 메모리 관리 체계다. 컬럼스토어 기반의 HANA는 복잡한 집계, 조인, 분석 쿼리를 인메모리로 처리하
예외 처리를 빼먹으면 진짜 큰일 납니다 HANA SQLScript로 작성한 프로시저가 운영 환경에서 갑자기 멈추고, 수천 건의 SalesOrder가 절반만 처리된 채 롤백되는 상황을 본 적이 있나요? 이 글은 SQLScript의 예외 처리(Exception Handling) 메커니즘을
예외를 무시하면 생기는 실제 장애 사례 SAP HANA SQLScript에서 예외 처리를 생략한 채 프로시저를 운영에 올리면, 단순한 버그가 아니라 데이터 정합성 자체가 무너지는 사고로 이어집니다. 예를 들어 SalesOrder 헤더는 INSERT 됐지만 라인 아이템 INSERT 단계에
예외 처리, 왜 필수인가 HANA SQLScript 프로시저에서 오류가 발생해도 핸들러가 없으면 전체 트랜잭션이 즉시 중단됩니다. 호출 측에 오류가 그대로 노출되고, 이미 실행된 DML도 롤백될 수 있습니다. 실수 1 — 핸들러 없이 SELECT INTO 사용 -- 위험: ID 999가
PersistenceService란? CAP for Java에서 PersistenceService 는 데이터베이스에 직접 접근할 수 있는 타입 안전 영속성 API입니다. 일반적인 CqnService와 달리 이벤트 핸들러를 우회해 DB에 바로 쿼리를 실행합니다. 주로 커스텀 핸들러 내부에
SQLScript에서 예외 처리를 빠뜨리면? HANA SQLScript로 프로시저를 작성할 때, 예외 처리를 생략하면 어떤 일이 벌어질까요? 트랜잭션 롤백 없이 데이터가 반쪽만 저장되거나, 오류 메시지 없이 프로세스가 멈추는 상황이 발생합니다. 실제 운영 환경에서는 디버깅조차 어려운 큰
CSV Seed란? CAP for Node.js 프로젝트에서 db/data/ 폴더에 CSV 파일을 놓으면 cds deploy 또는 cds run 시 자동으로 초기 데이터를 로드합니다. 별도 SQL 스크립트나 Migration 파일 없이 테스트 데이터와 마스터 데이터를 빠르게 투입할 수
이 글이 답하는 질문 SQLScript가 일반 SQL과 뭐가 다른가? HANA Procedure를 언제 써야 하나? TABLE TYPE은 왜 별도로 정의하는가? 직접 해보기 1. Table Type 정의 CREATE TYPE tt_employee AS TABLE ( empId NVARC
이 글이 답하는 질문 SQLScript 프로시저 기본 구조는? TABLE TYPE으로 여러 행을 반환하려면? DECLARE, IF 절차형 구문은 어떻게 쓰나요? 프로시저 기본 구조 BEGIN-END 블록에 IN/OUT 파라미터를 선언하고 로직을 작성합니다. CREATE OR REPLAC
이 글이 답하는 질문 Calculation View가 SQL View와 구체적으로 뭐가 다른가? 어떤 상황에서 Calculation View를 써야 하나? 처음 만들 때 어떤 순서로 접근하나? 직접 해보기 SQL View vs Calculation View 차이 -- SQL View:
이 글이 답하는 질문 HANA SQLScript에서 WHILE/FOR 루프를 쓰면 왜 느린가? Set 방식으로 어떻게 대체하나? 실무에서 루프를 피해야 하는 이유는? 직접 해보기 루프 방식 (느림) -- 행 단위 처리 — 대용량에서 치명적 DECLARE i INT = 1; WHILE i
이 글이 답하는 질문 CAP 프로젝트에서 초기 데이터를 자동으로 로드하려면? CSV Seed 파일명은 어떻게 지어야 하나? 초기 데이터 로드가 안 될 때 어디를 봐야 하나? CSV Seed란 CAP(Cloud Application Programming Model)에서 앱 시작 시 DB에
이 글이 답하는 질문 HANA Plan Visualizer가 Explain Plan과 뭐가 다른가? 쿼리가 느릴 때 어느 Operator부터 봐야 하나? Estimated vs Actual Row Count 차이가 크면 어떻게 하나? 직접 해보기 1. Plan Visualizer 열기
이 글이 답하는 질문 백엔드 없이 UI5 앱을 어떻게 실행할 수 있나? Mock Server를 어디에, 어떻게 붙이나? 왜 내 Mock 데이터가 화면에 안 보이지? 직접 해보기 1. 디렉토리 구조 만들기 webapp/ localService/ mockdata/ Products.json
이 글이 답하는 질문 백엔드 없이 UI5 앱을 개발하고 싶다면? MockServer.simulate()이 실제로 어떻게 동작하나? 직접 해보기 1. MockServer 초기화 // webapp/localService/mockserver.js sap.ui.define([ "sap/ui/c