在/IWFND/GW_CLIENT中的条件下使用'NULL'请求结果时出现问题

2020-08-18 07:02发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我有一个CDS视图,该视图通过S...

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

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


我有一个CDS视图,该视图通过SADL框架公开给GW服务。

CDS视图包含名为 workOrderWorkCentreId 的属性,具有以下技术详细信息:

使用GW_CLIENT事务,当我尝试从条件为 workOrderWorkCentreId eq'NULL'的实体(= CDS结果集)获取结果集时,不显示任何记录。 这是错误的,因为CDS包含此字段为空的记录。

GW_CLIENT请求:

使用ST05进行了跟踪以评估SQL请求并发现了这一点:

详细视图:

似乎SADL框架正在考虑where条件中的字段长度大小来构建SQL请求。

由于属性 workOrderWorkCentreId 最大长度为2个字符,因此它将NULL条件截断为'nu'导致错误的结果集。

我对长度最大的其他属性进行了快速测试,效果很好。

关于如何解决此问题的任何想法?

干杯。

(8.6 kB)
2条回答
huskylover
2020-08-18 07:49

您好里卡多·拉迪罗

我了解您有一个CDS,其字段为 workOrderWorkCentreId ,并且其中有一些记录为NULL,而您想获取这些记录。

首先,我认为您要命中的条件是错误的,即 workOrderWorkCentreId eq'NULL'。 这将无法工作,因为网关也将无法用单引号将该关键字解析。


第二,您提到了" CDS包含该字段为",我假设您在测试数据记录中针对该记录中特定字段的CDS视图输出时,在ADT中可能会看到空白/空单元格。

请尝试单引号(' '),并具有用于访问空白值的空间。

解决方案:因此url的外观应类似于:

workOrderWorkCentreId eq''

希望这会有所帮助! :-)

欢呼声

帕万·哥萨尔(Pavan Golesar)

一周热门 更多>