Подключиться к другой базе данных 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.

Другие вопросы по тегам