在ABAP中创建数据库视图时出错

问题描述 投票:0回答:1

我正在尝试在ABAP词典中创建数据库视图。

我已将表 table_a 和 table_b 的连接条件给出为 表_a-数据 = 表_b-数据。

我已经提到了视图字段选项卡中的所有主键字段,并且我已经提到了 where 条件 where Mandt = '602' 并面临以下错误

  1. 客户不符合选择条件

  2. 字段table_a-data不属于基表。

我尝试修改比较值但没有成功。 还切换了表顺序以消除基表的错误,但没有成功。

sql-view sap-data-dictionary
1个回答
0
投票

您无法在选择条件中对客户端值进行硬编码。

按照以下步骤在数据库视图中正确处理客户端

  • 在表/连接条件中,使用
    table_a-mandt = table_b-mandt
    (这样跨客户端的数据不会在连接条件中使用)
  • MANDT
    作为视图字段中的第一个字段(以便编译器在数据选择期间可以将当前客户端作为默认值传递)。

如果您想访问跨客户端数据,可以使用下面的

CLIENT SPECIFIED
USING CLIENT
关键字来实现。

SELECT * from DataBaseView USING CLIENT '062' into table @data(lt).

SELECT * from DataBaseView CLIENT SPECIFIED where mandt = '062' into table @data(lt).
© www.soinside.com 2019 - 2024. All rights reserved.