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~는 여러 테이블 등의 조합으로 만들어져있었다..
(제발 유지보수를 위해 이렇게 작성하지 않았음 한다.. 복잡..)
Database Procedure Interface라고 적힌 ZIF_Z~~는 인터페이스 폴더안에서 확인할 수 있었다.
SAP ABAP UPCAST, DOWNCAST 개념과 ?=, =의 차이 (0) | 2022.12.22 |
---|---|
SAP ABAP - HANA SQL 사용 + SQL 성능 비교 (0) | 2022.12.06 |
ABAP 첨부 파일 업로드 - 기초 1(스탠더드 기능) (0) | 2022.07.11 |
ABAP 메일링 기능 정리 1 - 단순 텍스트 LOOP (0) | 2022.06.13 |
SAP 도입 PROCESS (IMPLEMENTATION) (0) | 2021.09.29 |