水晶报表:该字段为空白

2020-09-08 15:39发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)今天这个让我发疯。 if...

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

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


今天这个让我发疯。

 if(isnull({Command.HospLeaveDateTime})或totext({Command.HospLeaveDateTime})='')
 然后 (
 如果为非({Command.ClearTime}),则为{Command.unit_clr_DateTime}
 否则,如果{Command.ClearTime}> {Command.unit_clr_DateTime},则{Command.unit_clr_DateTime}
 否则{Command.ClearTime}
 )
 否则,如果{@Destination}> {Command.HospLeaveDateTime}
 然后{Command.ClearTime}
 其他{Command.HospLeaveDateTime}
 

当ClearTime字段和HospLeaveDateTime字段均为NULL时,该字段显示为空白。 该公式看起来可以处理NULL情况,但我想不是吗? 我该如何调整?

4条回答
CJones
2020-09-08 16:19 .采纳回答

{Command.unit_clr_DateTime}总是有一个值,还是也可以为空?

日期时间是否可以为空值取决于您的数据库是否允许日期为空 。

我会尝试将公式分解为较小的公式,以解决问题所在。 还有一些方法可以使If语句变得不那么复杂。 像这样的东西:

 {@ Clear Time}
 如果isnull({Command.ClearTime})或{Command.ClearTime} = DateTime(0,0,0,0,0,0),则
   {Command.unit_clr_DateTime}
 其他
   最小值([{{Command.ClearTime},{Command.unit_clr_DateTime}])
 

将此内容放置在报告中,并测试其是否返回值。 如果是这样,请尝试以下操作:

如果isull({Command.HospLeaveDateTime})或{Command.HospLeaveDateTime} = DateTime(0,0,0,0,0,0),则
   {@清除时间}
 否则,如果{@Destination}> {Command.HospLeaveDateTime},则
   {Command.ClearTime}
 else {Command.HospLeaveDateTime} 

您也可以将if从else-if分解为自己的公式,然后进行测试。 其中之一应该可以帮助您确定问题出在哪里。

-Dell

一周热门 更多>