ADBC. ABAP Database Connectivity – получение данных из сторонних БД

ABAP Database Connectivity - позволяет подключаться к БД напрямую и использовать sql самой БД. Также данную API можно использовать для получения данных из внешних(вторичных) БД.
Давайте рассмотрим обе задачи и пути их решения.

1. Получение данных из другой SAP системы. Тут мы имеем вариантов:
a) Пожалуй, самый очевидный, это создание RFC и вызов его в целевой системе. Однако, не всегда есть возможность протащить свой ФМ в целевую систему;
b) Второй способ, использование стандартного ФМ 'RFC_READ_TABLE' . Он позволит получить данные из таблицы в целевой системы, при этом его не надо никуда переносить
Давайте проверим, есть ли указанный пользователь в таблице USR01 целевой системы.

Сразу видна проблема, что можем извлечь данные только по одной таблице. 

Какие же еще есть варианты? Конечно же основной способ из заголовка статьи, а именно использование API ABAP Database Connectivity и класса cl_sql_connection. При помощи данной API можно подключаться как к своей БД, так и внешним БД.
Получим: 

Обратите внимание, что надо указывать мандант, т.к. мы обращаемся к БД напрямую. Также возможно использовать специфический синтаксис конкретной БД.

2. Получение данных из внешней БД
Для подключения к внешним БД предварительно нужно настроить соединение c дополнительной БД в транзакции DBACOCKPIT  и указать соединение при вызове метода get_connection:

 

 

Добавить комментарий

Ваш адрес email не будет опубликован.