Подключиться к другой базе данных SAP HANA с помощью CDS
Я ввел новое соединение с базой данных в транзакции DBCO с другой системой SAP. и успешно протестировать его с отчетом ADBC_TEST_CONNECTION
,
Как использовать это соединение в представлении CDS? Это вообще возможно? Я думал, что это будет работать с табличными функциями, но не получилось.
В качестве альтернативы я попытался использовать его в программе abap безуспешно:
data: lt_vbak(20).
exec sql.
CONNECT TO 'SECOND_DB'
endexec.
exec sql.
SELECT vbeln into :lt_vbak FROM vbak where mandt = 500
endexec.
exec sql.
DISCONNECT :'SECOND_DB'
endexec.
Это говорит о том, что стол vbak
не существует.
В настоящее время мы находимся на SAP ECC с ABAP 7.50.
Какие-либо предложения? Спасибо
2 ответа
Не уверен насчет представлений CDS, но в программе ABAP вы можете сделать это через Open SQL, используя опцию CONNECTION и указав имя вашего вторичного соединения с базой данных:
SELECT vbeln INTO TABLE lt_vbak FROM vbak WHERE mandt = 500 CONNECTION ('SECOND_DB').
Однако для этого необходимо, чтобы у вас была таблица VBAK с той же структурой, что и у запрашиваемого VBAK, также определенного в DDIC вашей системы ECC.
Смотрите также документацию по параметру CONNECTION здесь: SELECT дополнительные опции
Это широкий вопрос, и предоставленная информация не позволяет сказать, что не сработало в вашем примере.
Может случиться так, что пользователь входа в систему для дополнительного подключения не подключается к правильной схеме или не имеет прав доступа к таблице VBAK
,
Поскольку вы в основном спрашиваете о практических рекомендациях, я рекомендую проверить обширную документацию ABAP по этой теме и / или хорошо написанное и информативное сообщение в блоге одного из разработчиков ядра ABAP.