相同的数据,相同的选择公式,不同的结果。

2020-08-30 12:18发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在运行时动态创建选择公式,并...

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

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


我正在运行时动态创建选择公式,并且没有产生任何行。 HasData返回false,rows.count = 0。

使用相同的数据,以及在运行时生成的相同选择公式,可以在主报表预览中获取数据。

Crystal gui(在Visual Studio 2017中使用)与运行时(在Visual Studio 2017中)又如何产生不同的结果?

我在下面列出了选择公式:

lookslike(trim(totext({ReportingCrossTab_v1r01.TransactionTypeCode})),trim(totext('')))

是,选择默认值为null。
是的,我知道我正在与空白字符串值进行比较。 在我要查找的记录中,该字段的值为空白,并且在gui中有效。
是的,我知道应该没有理由将''转换为文本,因为它已经是文本,但是当 它是一个数字值,可以确保使用晶振逻辑转换字段和数字,而无需我深入了解它是什么。 同样,在gui中也可以正常工作。

我已经尝试过几种类似的公式,包括简单的trim(totext({field}))= trim(totext(''))。

每次尝试时,报告预览gui都会生成记录集,而运行时不会生成记录。

奇怪的是,这仅在我测试的字段为null时才出现问题。

运行时是否忽略null的默认值?

5条回答
小熊yu生菜
2020-08-30 12:44

好,

虽然我仍然觉得运行时很像,并且gui绝不能使用相同的数据和选择公式产生不同的结果,但是由于戴尔,我已经找到了适合我的情况的解决方法。

由于我是通过代码执行此操作的,因此我可以读取测试值,并且当它为空字符串时,我可以简单地将公式调整为读取

isnull({ReportingCrossTab_v1r01.TransactionTypeCode})或trim(totext({ReportingCrossTab_v1r01.TransactionTypeCode}))=''

由于我希望每个测试值提供不同的报告,因此这对我来说很好。 它还使我可以返回非空值的简单相等性,而不是使用looklikelike(,)进行模式匹配。

尽管如此,我仍然对通过运行时为选择公式设置或验证"空值默认值"感到好奇。

一周热门 更多>