点击此处---> 群内免费提供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 ='发票值大于基本单据值和/或余额' 结束 结束 -----
麦当劳嗨,
尝试此查询,希望它能起作用。
如果@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
湿婆
嗨麦克唐纳,
您能告诉我测试中涉及的步骤吗? 我将调整代码,然后再次发送。
使用Krgds
湿婆
嗨,
尝试一下,
嗨,
条件" T0.DocEntry = @list_of_cols_val_tab_del"应始终是where子句的一部分,而不必具有。
最好
Mathias
一周热门 更多>