HANA客户账龄报告

2020-09-27 19:54发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 由于要添加150天和18...

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

加入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";
 
4条回答
haha101010
2020-09-27 20:14

好吧,这实际上是我的错误:CURRENT_DATE函数调用没有括号()。

无论如何,现在应该是WHEN条件

从" due_date"到计算出的日期之间的天数,该天数大于或等于120。
计算出的日期应在1900年1月1日前加上X天。 那没有道理!

能否请您口头描述您要实施的规则?

关于上个世纪初的参考是什么?
您不想说类似的话吗?

"如果截止日期距离今天还有120天或更长时间,则..."?

一周热门 更多>