ABAP Managed Database Procedures (AMDP)
В статье дается описание ABAP Managed Database Procedures (AMDP) - одной из технологий доступа к HANA из ABAP.
Введение
Существуют несколько технологий доступа к HANA из ABAP:
- Использование ADBC (ABAP Database Connectivity)
- External view
- CALL DATABASE PROCEDURE
К существующим технологиям добавилась AMDP - ABAP Managed Database Procedures.
AMDP позволяют разрабатывать и выполнять хранимые процедуры базы данных напрямую в ABAP.
Использование ADMP
Описание
AMDP можно создать только в глобальных классах.
Класс должен содержать интерфейс IF_AMDP_MARKER_<база данных>.
Все данные в методе передаются по значению, а не по ссылке.
CLASS zcl_clearing DEFINITION PUBLIC.
PUBLIC SECTION.
INTERFACES if_amdp_marker_hdb. – для SAP HANA
Синтаксис метода
METHOD <имя метода> BY DATABASE PROCEDURE FOR <база данных>
LANGUAGE <язык БД>
[ OPTIONS <опции> ]
[ USING <используемые объекты>].
Объявление метода
METHODS: get_clearing IMPORTING VALUE(i_it_docs) TYPE ztt_clear_in
EXPORTING VALUE(e_it_docs) TYPE ztt_clear_out.
VALUE – передача параметров по значению
ztt_clear_in, ztt_clear_out – это типы таблиц в словаре
METHOD get_clearing BY DATABASE PROCEDURE FOR HDB
LANGUAGE SQLSCRIPT
OPTIONS READ-ONLY
USING bseg.
HDB – для базы данных SAP HANA
SQLSCRIPT – язык SQL для SAP HANA
READ-ONLY – процедура только для чтения, запрещены операции изменения данных в таблицах (INSERT, UPDATE)
Тело метода
На этом примере мы передаем внутреннюю таблицу в SAP HANA и получаем данные из таблицы BSEG (BSEG уже можно JOIN! она прозрачная на уровне HANA)
Важно не забывать про поле MANDT
METHOD get_clearing BY DATABASE PROCEDURE FOR HDB
LANGUAGE SQLSCRIPT
OPTIONS READ-ONLY
USING bseg.
DECLARE c_space nvarchar(1) := '';
-- это комментарий
-- в данном примере это JOIN таблицы BSEG и внутренней таблицы :i_it_docs
lt_full_cleared = SELECT bseg.mandt,
docs.belnr,
docs.gjahr,
bseg.shkzg,
bseg.bukrs
* bseg.rebzg,
* bseg.rebzj
FROM bseg AS bseg
JOIN :i_it_docs AS docs ON bseg.mandt = docs.mandt AND
Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland
ЗарегистрироватьсяУ вас уже есть учетная запись?
Войти