通过ABSL中的POST操作过帐供应商发票

2020-08-14 07:51发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我必须实现一个非常简单的...

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

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


你好

我必须实现一个非常简单的海量数据运行流程,该流程可以过帐供应商发票(前提是它们满足"准备过帐"条件)。必须下达的发票在自定义业务对象内的列表中。

运行的大量数据仅会选择该业务对象中的所有项目,检查这些发票是否处于正确状态,并调用每个项目的"过帐"操作。

不幸的是,当执行Post命令时,什么也没有发生。 没有错误消息,但是没有发票下达。

我调试了一张发票,但无法发布状态。

这是我使用的代码:

 foreach(此中为var THIS)
 {
     var found = false;
     var querySI = SupplierInvoice.QueryByElements;
     var SIParams = querySI.CreateSelectionParams();
     SIParams.Add(querySI.BusinessTransactionDocumentReferenceCustomerInvoiceID.content," I"," EQ",THIS.ExternalID.content);
     var发票= querySI.Execute(SIParams);
     如果(invoices.Count()== 0)
     {//发票不存在
         THIS.Delete();
         继续;
     }
    //找到正确的发票并尝试下达
     foreach(发票中的无变化发票)
     {
         如果(invoice.SellerParty.Party.ID.content == THIS.Supplier.content)
         {
             如果((invoice.Status.PostingStatusCode ==" 1")&&
             (invoice.Status.SupplierInvoiceLifeCycleStatusCode ==" 3"))//仅考虑发布准备
             {
                 invoice.Post();
                 打破;
             }
         }//找到
     }//不同的发票
 }//如果已设置

存储库资源管理器中的文档丢失,并且没有错误消息,我没有任何关于可能是问题的迹象。 有人对此有解决方案吗?

谢谢。

1条回答
Alawn_Xu
2020-08-14 08:10

嗨安德里亚,

您可以尝试使用FinishDataEntryProcessing()和Post()操作。 我已经过帐带有操作的供应商发票。 因此,您可以尝试将其发布。

 Invoice.FinishDataEntryProcessing();
 if(invoice.Status.SupplierInvoiceLifeCycleStatusCode ==" 3"){
     这个帖子();
 } 

如果有效,请标记我的答案为正确答案,然后关闭该话题。

谢谢

Ananth

一周热门 更多>