SAP B1中的客户对帐单

2020-09-28 00:07发布

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

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


专家们,

我正在为客户声明创建水晶报表。

下面是我的查询

选择OCRD.cardcode'Supplier Code',OCRD.cardname'Name',sysdeb'Debit GBP',syscred'Credit GBP',(JDT1.BALDUEDEB-JDT1.BALDUECRED)作为'Balance Due',
案例 JDT1.transtype
当" -2"然后"期初余额"
当" 13"然后"发票"
当" 16"然后" Delivery Note"当" 24"然后"收款" '
何时'203'然后'收款'
其他'其他'结束'类型',
JDT1.Ref1,OJDT.Memo,fccurrency'BP货币',
CONVERT(VARCHAR(10),JDT1.refdate,103)'发布日期',
CONVERT(VARCHAR(10),JDT1.duedate,103)'到期日',
CONVERT(VARCHAR(10), JDT1.taxdate,103)'Doc Date',
CASE
当DATEDIFF(dd,JDT1.taxdate,current_timestamp)<31 <然后> case
当syscred <> 0 然后syscred *-1
else sysdeb
结束
结束" 0-30天",当(datediff(dd,JDT1.taxdate,current_timestamp)> 30 然后
case
当syscred <> 0时再syscred *-1 sysdeb end
end" 31 to 60天",
当(datediff(dd,JDT1.taxdate,current_timestamp)> 60
和datediff(dd,JDT1.taxdate,current_timestamp)<91)时的情况
然后当syscred时情况 <> 0然后syscred *-1
否则sysdeb
结束
结束" 61到90天",
CASE
当DATEDIFF(dd,JDT1.taxdate,current_timestamp)> 90
然后
case
当syscred <> 0然后syscred *-1
else sysdeb
end
end" 90 + days"


来自JDT1内部联接 JDT1上的OCRD.ShortName = OCRD.CardCode
内部加入JDT1上的OJDT.Transid = OJDT.TransId

其中JDT1.shortname = OCRD.cardcode和OJDT.Transid = JDT1.TransId且卡类型='C '和intrnmatch ='0'
和JDT1.RefDate <='2017-06-15 00:00:00.000'
和OCRD.CardCode ='ABC0037'

按OCRD.CARDCODE订购,JDT1.taxdate

我无法获得应收帐款等级...! 表示对所有记录重复相同的到期金额,如图所示。

请有人帮我吗?

cs01.jpg

cs01.jpg (160.4 kB)

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

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


专家们,

我正在为客户声明创建水晶报表。

下面是我的查询

选择OCRD.cardcode'Supplier Code',OCRD.cardname'Name',sysdeb'Debit GBP',syscred'Credit GBP',(JDT1.BALDUEDEB-JDT1.BALDUECRED)作为'Balance Due',
案例 JDT1.transtype
当" -2"然后"期初余额"
当" 13"然后"发票"
当" 16"然后" Delivery Note"当" 24"然后"收款" '
何时'203'然后'收款'
其他'其他'结束'类型',
JDT1.Ref1,OJDT.Memo,fccurrency'BP货币',
CONVERT(VARCHAR(10),JDT1.refdate,103)'发布日期',
CONVERT(VARCHAR(10),JDT1.duedate,103)'到期日',
CONVERT(VARCHAR(10), JDT1.taxdate,103)'Doc Date',
CASE
当DATEDIFF(dd,JDT1.taxdate,current_timestamp)<31 <然后> case
当syscred <> 0 然后syscred *-1
else sysdeb
结束
结束" 0-30天",当(datediff(dd,JDT1.taxdate,current_timestamp)> 30 然后
case
当syscred <> 0时再syscred *-1 sysdeb end
end" 31 to 60天",
当(datediff(dd,JDT1.taxdate,current_timestamp)> 60
和datediff(dd,JDT1.taxdate,current_timestamp)<91)时的情况
然后当syscred时情况 <> 0然后syscred *-1
否则sysdeb
结束
结束" 61到90天",
CASE
当DATEDIFF(dd,JDT1.taxdate,current_timestamp)> 90
然后
case
当syscred <> 0然后syscred *-1
else sysdeb
end
end" 90 + days"


来自JDT1内部联接 JDT1上的OCRD.ShortName = OCRD.CardCode
内部加入JDT1上的OJDT.Transid = OJDT.TransId

其中JDT1.shortname = OCRD.cardcode和OJDT.Transid = JDT1.TransId且卡类型='C '和intrnmatch ='0'
和JDT1.RefDate <='2017-06-15 00:00:00.000'
和OCRD.CardCode ='ABC0037'

按OCRD.CARDCODE订购,JDT1.taxdate

我无法获得应收帐款等级...! 表示对所有记录重复相同的到期金额,如图所示。

请有人帮我吗?

cs01.jpg

cs01.jpg (160.4 kB)
付费偷看设置
发送
3条回答
Baoming ROSE
1楼 · 2020-09-28 00:35.采纳回答
三十六小时_GS
2楼-- · 2020-09-28 00:39

Hi Diego,

结果还是一样。

现在我的查询就像

选择OCRD.cardcode``供应商代码'',OCRD.cardname``名称'',sysdeb``借记美元'',syscred``贷记美元'',SUM(JDT1.BALDUEDEB-JDT1.BALDUECRED)超过(按OCRD排序)。 CARDCODE,JDT1.taxdate在未绑定的前缀和当前行之间成行),作为"余额到期",
案例JDT1.transtype

当" -2"然后"期初余额"

>当'13'然后是'发票'

当'16'然后是'交货单'

当'24'然后是'收款'

当'203'然后 '收款'

else'其他'

结束'类型',
JDT1.Ref1,OJDT.Memo,
fccurrency'BP货币' ,

CONVERT(VARCHAR(10),JDT1.refdate,103)'发布日期'

来自JDT1,OCRD,OJDT,其中JDT1.shortname = OCRD.cardcode和OJDT.Transid = JDT1 .TransId和cardtype ='C'并且intrnmatch ='0'
和JDT1.RefDate <='2017-06-18 00:00:00.000'-{?JDT1.RefDate @}
和OCRD。 CardCode ='ABC0037'-'{?OCRD.CardCode @}'


按OCRD.CARDCODE排序,JDT1.taxdate

我需要运行累积余额,如下图所示。 我想将期初余额添加到查询中。 我该如何实现??

cs02.jpg

亦是此间程序员
3楼-- · 2020-09-28 00:33

嗨,简,

如果您使用 sql server 2012或更高版本,您可以使用以下指令:

更改:

(JDT1.BALDUEDEB-JDT1.BALDUECRED)为"余额到期",

通过

 SUM(JDT1.BALDUEDEB-JDT1.BALDUECRED)作为"余额到期"的超额付款(按OCRD.CARDCODE,JDT1.taxdate行在未绑定的前缀和当前行之间)进行> 

希望对您有所帮助。

亲切的问候

迭戈·拉瑟

一周热门 更多>