상세 컨텐츠

본문 제목

SAP ABAP - CALL DATABASE PROCEDURE 예시

ABAP

by Kiroc 2022. 12. 5. 21:38

본문

CALL DATABASE PROCEDURE Z~~문으로 GET DATA를 대신하는 부분을 정리해보았다.

CALL DATABASE PROCEDURE문은 디버깅이 안되어 내용을 확인하려면 HANA 스튜디오를 이용해야한다.

이렇게 사용하는 이유는 속도가 빨라서라는데..

쿼리 읽어오는 속도는 빠를지 몰라도 프로그램 전체는 느리다... ㅡ.ㅡ+

 

* CALL DATABASE PROCEDURE 예시

    CLEAR : lt_output[].
    CALL DATABASE PROCEDURE zmm_test1
      EXPORTING
        iv_fdate  = lv_fdate
        iv_tdate  = lv_tdate
        iv_where  = lv_where
      IMPORTING
        et_output = lt_output.

 

lv_where는 다이나믹하게 조건절을 만들었다.

 

임포팅, 익스포팅 파라미터만 봐도 해당 프로시저가 어떤 역할인지 추측할 수는 있지만

학습을 위해 직접 하나 스튜디오에서 찾아보기로 했다.

 

CALL DATABASE PROCEDURE에 사용되는 프로시저는 HANA Studio에서 생성 및 관리한다.

zmm_test1을 하나 스튜디오에서 찾아볼 시 DB Procedure Proxies에 해당 프로시저가 존재하는데,

파라미터와 프로시저 이름을 확인한 후 인터페이스도 확인할 수 있다.

 

프로시저 파라미터 확인

 

HANA procedure라고 표기된 경로를 Repositiory에서 찾아보았다.

해당 프로시저의 실제 쿼리를 확인 할 수 있었는데, FROM절의 데이터는 CA~에서 가져오고 있었다.

 

쿼리 내용물

 

FROM절의 CA~ 는 HANA Procedure를 참고해 찾았다.

CA~는 여러 테이블 등의 조합으로 만들어져있었다..

(제발 유지보수를 위해 이렇게 작성하지 않았음 한다.. 복잡..)

 

CA~ 확인

 

Database Procedure Interface라고 적힌 ZIF_Z~~는 인터페이스 폴더안에서 확인할 수 있었다.

 

 

 

관련글 더보기