ABAP

복잡한 계산 ABAP 말고 DB로? AMDP 한 줄 #shorts #SAP #ABAP

▶ YouTube에서 보기

복잡한 계산 ABAP 말고 DB로? AMDP 한 줄 #shorts #SAP #ABAP

Moderator · 2026. 5. 4. · 조회 4

AMDP란?

ABAP Managed Database Procedure의 약자입니다. 복잡한 집계나 분석 계산을 ABAP 레이어 대신 HANA DB 안에서 직접 실행하도록 위임하는 방법입니다. 대용량 데이터 처리 시 네트워크 트래픽을 줄이고 DB 엔진의 성능을 최대로 활용할 수 있습니다.

언제 쓰나요?

  • 수백만 건 데이터 집계/분석
  • ABAP으로 옮기면 느린 복잡한 쿼리
  • HANA 전용 함수(SERIES, 예측)를 활용할 때

Class 선언

CLASS zcl_sales_amdp DEFINITION PUBLIC FINAL.
  PUBLIC SECTION.
    INTERFACES if_amdp_function_provider.
    CLASS-METHODS get_top_sales
      FOR FUNCTION z_get_top_sales.
ENDCLASS.

Implementation

CLASS zcl_sales_amdp IMPLEMENTATION.
  METHOD get_top_sales
    BY DATABASE PROCEDURE FOR HDB
    LANGUAGE SQLSCRIPT
    OPTIONS READ-ONLY
    USING zsales.

    it_result = SELECT TOP 10
      customer_id,
      SUM(amount) AS total
    FROM :zsales
    GROUP BY customer_id
    ORDER BY total DESC;
  ENDMETHOD.
ENDCLASS.

ABAP에서 호출

DATA lt_result TYPE TABLE OF zs_top_sales.

CALL DATABASE PROCEDURE z_get_top_sales
  EXPORTING
    it_result = lt_result.

핵심 포인트

PUSH-DOWN 원칙: 데이터를 ABAP으로 가져와서 계산하지 말고, 계산을 DB로 내려보내세요. AMDP는 HANA가 가장 잘하는 일을 HANA에게 맡기는 패턴입니다.

핵심 한 줄

AMDP = ABAP 클래스로 선언하고 HANA SQLSCRIPT로 구현 — 복잡한 계산은 DB에게 맡겨라.


본 게시글은 btpstacks.com의 독립 학습 콘텐츠이며 SAP SE와 무관합니다. 공식 문서는 help.sap.com을 참고하세요.

SAP, ABAP, SAP BTP, SAPUI5, SAP Fiori는 독일 및 기타 국가에서 SAP SE의 상표 또는 등록상표입니다.

댓글 0

아직 댓글이 없습니다.