将ABAP CDS视图字段设置为NULL

2020-09-18 03:38发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 我需要将视图中的输出字段设...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我需要将视图中的输出字段设置为NULL。 在SQLScript中,我会说

选择Null作为Ouput_Field
 从

现在您可能会问为什么我需要这样做,因为显示空值的视图的意义是什么。答案是这样的select语句是联合视图的一部分,

将GUID选择为Output_Field 
来自
Union
将NULL选择为NULL作为Output_Field
来自

第一个select语句为输出字段提供有效值,但是表B中没有GUID,因此该值需要设置为NULL。

您现在可以说,为什么不将字段值设置为"(空白)"? 无法将字段设置为空白,因为这样做会创建不同的字段类型,从而导致第一个查询创建的RAW(16)字段之间的类型不匹配。

如果我可以输入上面显示的代码,则SQL应该将联合后面的字段类型与联合前面的字段类型相同,但是对于OpenSQL,我发现情况并非如此。

我通过在第二个联合中强制使用GUID值克服了这个问题,即使GUID值与结果无关,也必须忽略它。 至少这样做可以将字段类型保留在查询的后半部分,其类型为RAW(16),但这不是理想的解决方案。 我们应该能够将输出字段值设置为NULL。

我正在运行HANA 7.4,所以想知道此问题是否在将来的版本中得到了解决,或者是否会在某个时候解决?


2条回答
宇峰
2020-09-18 03:57

不,我从未找到答案,我想根本不可能做到这一点,因此,我的解决方案是从联合表中选择一个GUID值,并且 使用它而不是NULL,然后在结果中忽略该值。

希望将来的OpenSQL更新将解决此限制。 我发现OpenSQL远远落后于SQLScript,尽管在很多方面我都不认为它是理想的,甚至是不可能的,但是我确实注意到引入了一些改进,在7.5.2中做了一些很好的补充。 不幸的是,在7.5.2中,与SQLScript相比仍然有太多限制。

斯蒂芬

一周热门 更多>

向帮助了您的知道网友说句感谢的话吧!