본문 바로가기

AMDP/ADMP 기초

2.1 Prerequisites

AMDP 클래스는 하나 이상의 Tranditional 및 AMDP 메소드로 구성될 수 있습니다. 또한 태그 인터페이스에 의해 지정된 각 데이터베이스 시스템을 위한 AMDP도 포함할 수 있습니다. Listing 6.2에 표시된 소스 코드는 필요한 모든 전제 조건을 구현하는 간단한 AMDP 정의를 보여줍니다. 이러한 전제 조건은 다음과 같습니다:

■ AMDP 클래스 정의에는 Marker Interface인 IF_AMDP_MARKER_HDB가 포함되어야 하며, 이는 SAP HANA 데이터베이스용 AMDP 메소드를 구현하기 때문입니다.
■ 클래스 정의에서 AMDP 메소드 매개변수 유형은 사전, ABAP(예: 정수 또는 문자) 또는 테이블 유형이어야 합니다. 테이블 유형 매개변수의 경우 라인 유형은 중첩된 테이블(nested table)이 지원되지 않기 때문에 elementary components를 포함해야 합니다.
■ AMDP 메소드에는 가져오기(importing), 내보내기(exporting), 변경하기(changing) 매개변수만 포함될 수 있습니다. AMDP 메소드는 반환 매개변수를 가질 수 없습니다.
■ 원격 함수 호출(RFC) 매개변수와 유사하게, 모든 메소드 매개변수는 값으로 전달되도록 정의되어야 합니다. 메소드 정의에서 참조(pass by reference)로 전달되는 것은 허용되지 않습니다.
■ AMDP 메소드는 클래스의 PUBLIC SECTION, PRIVATE SECTION 또는 PROTECTED SECTION에 정의될 수 있습니다. 그러나 다른 클래스의 AMDP 메소드가 해당 메소드를 호출하지 않는 경우 메소드를 PRIVATE로 선언해야 합니다.

CLASS zcl_amdp_demo_01 DEFINITION
    PUBLIC
    FINAL
    CREATE PUBLIC.
    PUBLIC SECTION.
         AMDP Marker Interface
        INTERFACES if_amdp_marker_hdb.
   
         Type Declaration
         
        TYPES: BEGIN OF d_flight,
            carrid TYPE s_carr_id,
            connid TYPE s_conn_id,
            bookamt TYPE s_f_cur_pr,
            loccurkey TYPE s_currcode,
        END OF d_flight.
        
        TYPES: tt_flight TYPE STANDARD TABLE OF d_flight.
         AMDP Method Definition
        CLASS-METHODS get_flight_data
            IMPORTING
                VALUE(iv_filters) TYPE string
                VALUE(iv_client) TYPE sy-mandt
        	EXPORTING
        		VALUE(e_flight) TYPE tt_flight
        	CHANGING
        		VALUE(c_return) TYPE i
        	RAISING cx_amdp_no_connection
        cx_amdp_execution_error.
    PROTECTED SECTION.
    PRIVATE SECTION.
ENDCLASS.
반응형

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

2.3 Calling AMDP Methods in Applications  (0) 2023.08.22
2.2 Implementing AMDP Methods  (0) 2023.08.22
2. Creating AMDP Classes  (0) 2023.08.19
1.2 Development Environment for AMDP  (0) 2023.08.19
1.1 ABAP-Managed Database Procedure Framework  (1) 2023.08.19