3

我在事务 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不存在。

我们目前在使用 ABAP 7.50 的 SAP ECC。

有什么建议么?谢谢

4

2 回答 2

1

不确定 CDS 视图,但在 ABAP 程序中,您可以通过 Open SQL 使用 CONNECTION 选项并指定辅助数据库连接的名称来执行此操作:

SELECT vbeln INTO TABLE lt_vbak FROM vbak WHERE mandt = 500 CONNECTION ('SECOND_DB').

但是,这要求您拥有与您查询的 VBAK 具有相同结构的表 VBAK,该 VBAK 也在您的 ECC 系统的 DDIC 中定义。

另请参阅此处的 CONNECTION 参数文档:选择附加选项

于 2019-02-06T20:20:44.957 回答
0

这是一个广泛的问题,所提供的信息不允许说明您的示例中哪些内容无法正常工作。
可能只是辅助连接的登录用户没有连接到正确的模式或没有访问表的权限VBAK

当您基本上要求操作方法时,我建议您查看有关该主题的大量 ABAP 文档和/或来自 ABAP 核心开发人员之一的编写良好且内容丰富的博客文章。

于 2019-02-02T03:09:21.457 回答