在/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
1楼-- · 2020-08-18 07:49

您好里卡多·拉迪罗

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

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


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

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

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

workOrderWorkCentreId eq''

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

欢呼声

帕万·哥萨尔(Pavan Golesar)

clever101
2楼-- · 2020-08-18 07:47

嗨, Pavan Golesar

请求条件很好。

通过在* MPC_EXT类的DEFINE方法中将此属性的最大长度大小更改为> 4个字符,可以实现我的目标。 无论哪种方式,它都似乎是一种解决方法……SADL框架应支持任何属性的NULL条件,而不考虑最大字符大小。

一周热门 更多>