abap - 使用 CDS 连接到另一个 SAP HANA 数据库
我在事务 DBCO 中输入了一个新的数据库连接到另一个 sap 系统。并使用报告 ADBC_TEST_CONNECTION
成功测试它。
如何在 CDS View 中使用此连接?有可能吗?我认为它可以与表函数一起使用,但没有让它起作用。
或者我尝试在 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。
有什么建议吗? 谢谢
最佳答案
不确定 CDS View ,但在 ABAP 程序中,您可以通过 Open SQL 使用 CONNECTION 选项并指定辅助数据库连接的名称来完成:
SELECT vbeln INTO TABLE lt_vbak FROM vbak WHERE mandt = 500 CONNECTION ('SECOND_DB').
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ztest9999aaaa.
BREAK-POINT.
SELECT mandt, vbeln FROM vbak " wHERE mandt = 300
INTO TABLE @DATA(lt_vbak)
CONNECTION s4q_non_system.
BREAK-POINT.
cl_demo_output=>display( lt_vbak ).
但是,这需要您在 ECC 系统的 DDIC 中定义与您正在查询的 VBAK 具有相同结构的表 VBAK。
另请参阅此处连接参数的文档:SELECT additional options
关于abap - 使用 CDS 连接到另一个 SAP HANA 数据库,我们在Stack Overflow上找到一个类似的问题: abap - Connect to another SAP HANA database with CDS - Stack Overflow