点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 由于要添加150天和18...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 由于要添加150天和18...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
由于要添加150天和180天的列,因此我试图在HANA中重新创建"客户老化报告",但是在日期计算方面遇到了困难。
请参见下面的代码:
选择OCRD。" CardCode" AS"客户代码",OCRD。" CardName" AS"客户名称",SUM( 案件 当" SYSCred" <> 0时" SYSCred" * -1 ELSE" SYSDeb" END)AS"余额到期",IFNULL(SUM( 案件 当DAYS_BETWEEN(JDT1。" DueDate",(从DUMMY中选择NOW()" NOW"))<0 THEN 案件 当JDT1。" BalDueCred" <> 0则JDT1。" BalDueCred" * -1 ELSE JDT1。" BalDueDeb" 结束 END),0.00)AS" Future Remit",IFNULL(SUM( 案件 当(DAYS_BETWEEN(JDT1。" DueDate",(从DUMMY中选择NOW()" NOW"))> = 0并且 DAYS_BETWEEN(JDT1。" DueDate",(从DUMMY中选择NOW()" NOW"))<30)然后 案件 当JDT1。" BalDueCred" <> 0则JDT1。" BalDueCred" * -1 ELSE JDT1。" BalDueDeb" 结束 END),0.00)AS" 0-30天",IFNULL(SUM( 案件 当(DAYS_BETWEEN(JDT1。" DueDate",(从DUMMY中选择NOW()" NOW"))> = 30并且 DAYS_BETWEEN(JDT1。" DueDate",(从DUMMY中选择NOW()" NOW"))<60)然后 案件 当JDT1。" BalDueCred" <> 0则JDT1。" BalDueCred" * -1 ELSE JDT1。" BalDueDeb" 结束 END),0.00)AS" 31至60天",IFNULL(SUM( 案件 当(DAYS_BETWEEN(JDT1。" DueDate",(从DUMMY中选择NOW()" NOW"))> = 60并且 DAYS_BETWEEN(JDT1。" DueDate",(从DUMMY中选择NOW()" NOW"))<90)然后 案件 当JDT1。" BalDueCred" <> 0则JDT1。" BalDueCred" * -1 ELSE JDT1。" BalDueDeb" 结束 END),0.00)AS" 61至90天",IFNULL(SUM( 案件 当(DAYS_BETWEEN(JDT1。" DueDate",(从DUMMY中选择NOW()" NOW"))> = 90并且 DAYS_BETWEEN(JDT1。" DueDate",(从DUMMY中选择NOW()" NOW"))<120)然后 案件 当JDT1。" BalDueCred" <> 0则JDT1。" BalDueCred" * -1 ELSE JDT1。" BalDueDeb" 结束 END),0.00)AS" 91至120天",IFNULL(SUM( 案件 当DAYS_BETWEEN(JDT1。" DueDate",(从DUMMY中选择NOW()" NOW"))> = 120 THEN 案件 当" BalDueCred" <> 0时" BalDueCred" * -1 其他" BalDueDeb" 结束 END),0.00)AS" 120+天" 从JDT1, OCRD 在JDT1。" ShortName" = OCRD。" CardCode"和OCRD。" CardType" ='c' OCRD的GROUP。" CardCode",OCRD。" CardName" HAVING SUM( 案件 当" SYSCred" <> 0时" SYSCred" * -1 ELSE" SYSDeb" END)> 0 OR SUM( 案件 当" SYSCred" <> 0时" SYSCred" * -1 ELSE" SYSDeb" 结束)<0 OCRD的订单。" CardCode";
当前形式的语句相当混乱,因为许多代码重复了,而且不容易看出目的是什么。
我将其重写为这种形式:
我所做的是:
现在,该语句更易于阅读,实际上也应该运行得更快。
根据我现在的理解,结果行不足的原因可能是:
或
或
现在应该很容易地一一检查这些可能的原因。
一周热门 更多>