본문 바로가기

AMDP/ADMP 기초

1.1 ABAP-Managed Database Procedure Framework

만약 기본 데이터베이스가 SAP HANA인 경우, AMDP(ABAP-Managed Database Procedures)는 코드 푸시다운 기능을 달성하기 위한 권장 기술입니다. 이 프레임워크는 ABAP 환경에서 데이터베이스 프로시저를 생성하고 관리하기 위해 상향식 접근법을 사용합니다. AMDP 프레임워크는 AMDP 프로시저의 전체 라이프사이클 - 생성, 변경, 활성화 및 전송 -이 ABAP 런타임 환경에 의해 응용 프로그램 계층에서 처리되는 것을 보장합니다.

개발자로서, AMDP 클래스의 AMDP 메소드 구현에서 프로시저를 작성하게 됩니다. 전통적인 ABAP 메소드와 달리, AMDP 메소드는 고유한 메소드로서 SQLScript, 네이티브 SQL 및 L(SAP 내부적으로 사용하는 언어)과 같은 데이터베이스 특정 프로그래밍 언어를 구현합니다. 키워드 LANGUAGE는 프로시저를 구현하는 데 사용되는 데이터베이스 특정 언어를 지정합니다.

아래 코드에서 보듯이, AMDP 메소드의 구현 섹션에서 키워드 BY DATABASE PROCEDURE을 사용하는 것은 메소드가 ABAP 또는 다른 언어를 사용하여 프로시저를 구현하는지를 구분하는 데 도움이 됩니다.

AMDP Class Definition
CLASS zcl_amdp_example DEFINITION
    PUBLIC
    FINAL
    CREATE PUBLIC.
    PUBLIC SECTION.
    
AMDP Marker Interface
	INTERFACES if_amdp_marker_hdb.
AMDP Method
	CLASS-METHODS amdp_method
Importing parameter defined using Dictionary type
	IMPORTING VALUE(im_input) TYPE matnr
Importing parameter defined using ABAP type
	EXPORTING VALUE(ex_output) TYPE i
Importing parameter defined using TABLE type
	CHANGING VALUE(ch_param) TYPE ttyp_d.
    
	PROTECTED SECTION.
	PRIVATE SECTION.
ENDCLASS.

AMDP Class Implementation
CLASS zcl_amdp_example IMPLEMENTATION.
AMDP Method Implementation
	METHOD amdp_method BY DATABASE PROCEDURE
                       FOR HDB
                       LANGUAGE SQLSCRIPT.
--Implement SQLScript Code ( Database specific code )
    ENDMETHOD.
ENDCLASS.

일반적으로, AMDP를 생성하거나 활용하기 전에 다음 사항을 고려해야 합니다.

■ 현재, AMDP 프레임워크는 SAP HANA 데이터베이스용 데이터베이스 프로시저만 지원합니다. 그러나 SAP는 이 프레임워크를 다른 데이터베이스의 저장 프로시저를 지원하도록 설계했습니다.
■ Eclipse 기반의 ABAP 개발 도구 (ADT)를 사용하여 AMDP를 생성하거나 편집할 수 있습니다. 따라서 고전적인 SAP GUI 기반의 클래스 빌더 (트랜잭션 SE24)는 AMDP 클래스와 해당 메소드를 관리하는 데 적합하지 않습니다. SE24 트랜잭션에서는 표시 기능만 지원됩니다.
■ 적절한 권한을 가진 표준 ABAP 사용자로 분류된 개발자는 AMDP 클래스를 사용하여 데이터베이스 프로시저를 관리할 수 있으며, 트랜잭션 SICK는 부족한 권한을 감지할 수 있습니다.


AMDP의 장점


AMDP 사용의 장점에 대해 몇 가지 살펴보겠습니다:

■ 하향식 기술인 SAP HANA 뷰와 프로시저와 달리 AMDP를 관리하는 데 표준 ABAP 사용자가 사용될 수 있습니다. SAP HANA 뷰와 프로시저에서는 ABAP와 SAP HANA 데이터베이스 사용자 모두가 필요합니다.
■ AMDP 프레임워크는 데이터베이스와 통신하며, SAP HANA 저장소 카탈로그 객체로 데이터베이스 프로시저를 자동으로 생성합니다.
■ 프로시저의 전체 라이프사이클 관리 - 동기화, 생성, 변경, 활성화 및 전송 -이 ABAP 계층에서 수행됩니다.
■ ADT 내의 ABAP 관점은 SQL 스크립트를 작성하고 관리하는 개발 환경으로 사용됩니다.
■ 프레임워크는 SQLScript 구문 검사 및 디버깅을 ABAP 환경에 완전히 통합합니다.
■ AMDP가 Native SQL 또는 SQLScript와 같은 데이터베이스 특정 언어를 사용하여 구현되었더라도, ABAP 환경은 여전히 구문 오류를 위한 소스 코드를 평가합니다.
■ 프로시저는 첫 번째 AMDP 메소드 호출 전에 ABAP 런타임 환경에 의해 자동으로 SAP HANA 데이터베이스에 생성됩니다.
■ 소프트웨어 제공업체가 제공하는 확장 기능이 있는 경우 Business Add-Ins (BAdIs)를 사용하여 AMDP를 확장할 수 있습니다.
■ AMDP는 여전히 사이드카 시나리오에서 사용되는 데이터베이스 프로시저 프록시의 대체제가 아닙니다. 프로시저 프록시는 여전히 부차 데이터베이스 연결을 통해 다른 SAP HANA 데이터베이스의 SQLScript 프로시저에 접근하는 데 사용됩니다.

반응형

'AMDP > ADMP 기초' 카테고리의 다른 글

2.2 Implementing AMDP Methods  (0) 2023.08.22
2.1 Prerequisites  (0) 2023.08.21
2. Creating AMDP Classes  (0) 2023.08.19
1.2 Development Environment for AMDP  (0) 2023.08.19
1. AMDP Introduction Overview  (0) 2023.08.19