问题描述
我有两种看法:
ZC_PurRequisitionFs 和 ZMM_ONAYT005。
从 C_PurRequisitionFs 扩展的第一个视图。
第二个视图从 Z* 表中获取数据。
@AbapCatalog.sqlViewAppendName: 'ZcpuRREQUISFS'
@EndUserText.label: 'Sat belgeleri'
extend view C_PurRequisitionFs with ZC_PurRequisitionFs {
*
} where ZC_PurRequisitionFs.object_id not in( SELECT * FROM ZMM_ONAYT005 ).
解决方法
虽然 CDS 视图不支持子查询,但它们支持 JOIN。
通常您会使用 JOIN 来仅获取存在于两个表中的那些条目。但是,当您想要表 A 中不存在于表 B 中的所有条目时,您可以执行 left outer join
,然后仅针对以下条目添加 where
条件右表 is null
。
define view Z_TEST as select
from table_a
left outer join table_b on
table_a.object_id = table_b.object_id
{
... fields....
}
where table_b.object_id is null;
,
据我所知,ABAP CDS 视图不支持子查询,因此您需要将其包含在主查询中。
请检查此guide。