点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
需要一些具有晶体报告的帮助。
我的目标是仅在输入的日期范围大于32时不显示数据。如果除了我正在执行的操作之外,还有其他方法,请指导我。
我可以在其中一份报告中选择使用公式,但同一公式在另一份报告中无效。
新报告中的所有字段也都可用,但是给我一个错误"该公式无法使用,因为必须稍后对其进行评估"。
任何人都可以帮忙。
公式是
{@日期差异} <= 32并且
当前日期-{@开始日期} <= 60并且
{Command.DATE_TRANSACTION} = {?Date}
更多详细信息:
@date是我的参数。
@开始日期是公式最小值(@dtransate)
@结束日期是公式的最大值(@transdate)
@date的区别是公式DateDiff(" d",{@开始日期},{@结束日期})+ 1
如上所述,您不应将Select Expert与命令配合使用。 您也不能在命令中使用日期范围参数-而是需要具有多带带的开始日期和结束日期参数。
对于Oracle,您应在Where子句中添加类似的内容,以防止 如果日期范围大于32天,则从拉取数据报告:
您没有提供有关" @transdate"是什么的任何信息,但是我假设它是DATE_TRANSACTION字段中的值。 如果不是这种情况,请让我知道它的公式,然后我将对其进行更新。
-Dell
尝试一下:
我对您的查询做了几件事:
-重新格式化以使其更具可读性。
-从Select中删除了子查询,而是使其成为联接。
-为case语句添加了别名,并串联了来自UL1的数据。
- 假定ACTION_CODE字段是数字,并删除了单引号。 如果字段类型是varchar或char,则需要放回它们。
-因为不需要它们,所以删除了Case语句周围的括号。
-调整了调用
我可能要验证查询的一件事是在数据库工具(例如Toad或PL/SQL Developer)中对其进行处理,以验证查询。 让您更清晰地了解任何错误所在。 为此,您可以将{?Parameter}语法更改为@Parameter。 然后,当您将其粘贴到Crystal的"命令编辑器"中时,必须将其更改回去。 另外,请确保不要在主报表的"字段浏览器"中的"命令编辑器"中创建参数!
此外,请注意,我是这里的志愿者-我不是SAP员工,我 我在美国,通常我不在周末工作(除非我正在为客户安装...)。 因此,如果我没有立即回应,请耐心等待。
下面是我的整个查询。 我是DB&Crystal的新手。 可能我正在犯一些错误,您可以指导我如何解决。
SELECT ul.UNIT_ID,
(UL.ACTION_CODE ='-1'时的情况
当UL.ACTION_CODE ='1'然后'TO ORDER'否则'0'结束时'FROM ORDER',ul.ORDER_CODE,ul.ORDER_ITEM,
(从itiprd.UNITLOG UL1中选择CONCAT(concat(concat(UL1.ORDER_CODE,'-'),UL1.ORDER_ITEM))
UL1.UNIT_TRANSACTION_TYPE ='TV'
AND UL1.ACTION_CODE ='1'
AND UL.DATE_TRANSACTION = UL1.DATE_TRANSACTION
AND UL.UNIT_ID = UL1.UNIT_ID)"要订购",
ul.DATE_TRANSACTION,u.mass_estimated_net,u.mass_scaled" Net",u.mass_scaled_gross,U.ORDER_CODE" CURRENT ORDER",U.ORDER_ITEM" CURRENT ITEM",U.WAREHOUSE_CODE,U.WAREHOUSE_LOCATION
来自itiprd.UNITLOG UL
在ul.unit_id = u.unit_id上内部加入itiprd.unit u
ul.UNIT_TRANSACTION_TYPE ='TV'和ul.action_code <>'1'AND U.UNIT_STATUS ='WH'
和Trunc({?StartDate})-Trunc({?EndDate})<= 32
和Sysdate-{?StartDate} <= 60
和ul.DATE_TRANSACTION> = Trunc({?StartDate})
和ul.DATE_TRANSACTION <= Trunc({?EndDate})
PL/SQL Developer具有一个特殊的"运行查询"选项,该选项使您可以输入像这样的参数值。 自从我使用它已经有一段时间了,所以我不记得如何使用它。
-Dell
尝试删除单引号 参数名称:
-阿比拉什
您应该将所有@都更改为&,以使其正常工作。
-Dell
1。 不要在命令中使用Select Expert! 参见 https://blogs.sap.com/ 2015/04/01/best-practices-when-using-commands-with-crystal-reports/了解有关原因的信息。
2。 在命令中实现此功能时,必须将其转换为查询的正确数据库语法,并将其放在where子句中。
您要连接到哪种数据库? 我也许可以为您提供有关如何编写命令查询部分的建议。
-Dell
一周热门 更多>