交易通知以验证发票价值不超过采购订单价值

2020-09-24 10:26发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨! 我一直在处理交易通知,以...

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

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


嗨!

我一直在处理"交易通知",以便在值大于基本单据值时阻止发票过帐。 即使按行项目过帐,发票值也不应超过基本单据余额(DocTotal和PaidToDate之间的差额)。 这是出于控制财务的目的,因为目前我们的批准是在采购订单级别。 我有下面编写的代码,但在一定程度上可以正常工作,但似乎缺少了一些东西。 它适用于某些发票,但不适用于从采购订单行过帐发票的情况。 即使发票和PO值或余额匹配,该过程仍将执行并给出错误并防止过帐。

请协助解决此问题。 我可能会缺少一些东西。 如有任何疑问,请询问。 预先感谢。

-麦克唐纳

 -----如果单据值大于基本单据值和/或余额(则DocTotal和PaidToDate之间存在差异),则冻结A/P发票的过帐




 如果@transaction_type IN('A')和@object_type ='18'
 开始
 如果存在(选择T0.DocEntry
 从OPCH T0
 内连接PCH1 T1开启T1.DocEntry = T0.DocEntry
 T2.DocEntry = T1.BaseEntry上的内部联接OPOR T2
 按T0.DocEntry,T2.DocTotal,T2.DocTotal,T2.PaidToDate分组
 拥有((SUM(T1.LineTotal))>(T2.DocTotal-T2.PaidToDate))和T0.DocEntry = @list_of_cols_val_tab_del)
 开始
 SELECT @Error = 18,@ error_message ='发票值大于基本单据值和/或余额'
 结束
 结束




 -----
 
5条回答
代楠1984
2020-09-24 11:18

麦当劳嗨,

尝试此查询,希望它能起作用。

如果@transaction_type IN('A')和@object_type ='18'则开始(如果从OPCH T0内联接PCH1 T1到T1.DocEntry = T0.DocEntry内联接OPOR T2在T2.DocEntry上选择T0.DocEntry = T1.BaseEntry内部联接POR1 T3在T3.DocEntry上= T2.DocEntry(T1.LineTotal)>(T3.LineTotal)或(T1.Price)>(T3.Price)和T0.DocEntry = @list_of_cols_val_tab_del)开始选择 @Error = 18,@ error_message ='发票值大于基本单据值和/或余额'END END

使用Krgds

湿婆

一周热门 更多>