BAPI_ACC_DOCUMENT_POST的性能问题

2020-09-01 15:44发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 有人知道BAPI_A...

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

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


大家好,

有人知道BAPI_ACC_DOCUMENT_POST有性能问题吗?

我正在使用此bapi ABAP代码,但速度很慢,每个文档发布几乎要花费1.4分钟。

每个文档包含998个行项目(借项和贷项)。

该程序运行批处理作业。 我平均发布38个文档最多需要55分钟。

发布后,程序检查BAPI返回的处理消息。

在这种情况下是否需要做一些事情,还是有必要并行化这部分代码?

因此,如何实现多个BAPI调用(并行性)。 你有什么主意吗 可能是另一种方法?

预先感谢

通话功能'BAPI_ACC_DOCUMENT_POST'
       出口
         documentheader = wa_document-documentheader
       输入
         obj_key = lv_obj_key
       桌子
         accountgl = wa_document-accountgl_t
         currencyamount = wa_document-currencyamount_t
         条件= lt_criteria
         extension1 = lt_extension1
         return = lt_return。


     删除lt_return返回WHERE类型EQ c_msg_type_e
                        AND ID EQ c_id_rw
                        AND编号EQ c_msgnumb_609。


     读取表lt_return
       WITH KEY类型= c_msg_type_e
       INTO wa_return。
     如果sy-subrc EQ 0。


       执行f_store_message
         使用wa_document
               wa_return
               abap_true
               空间。
     其他。


       描述表lt_return lines lv_lines。
       读取表lt_return INTO wa_return INDEX lv_lines。
       如果sy-subrc EQ 0。


         如果wa_return-type EQ c_msg_type_s。


           清除wa_return_commit。
           通话功能'BAPI_TRANSACTION_COMMIT'
             出口
               等待= abap_true
             输入
               return = wa_return_commit。
           如果不是wa_return_commit为INITIAL。


             执行f_store_message
               使用wa_document
                     wa_return_commit
                     abap_true
                     空间。
           其他。


             执行f_store_message
               使用wa_document
                     wa_return
                     abap_true
                     空间。


             执行f_add_item_txt_long
               使用lv_obj_key
                     wa_document-itm_text_t。


           万一。


         其他。


           执行f_store_message
             使用wa_document
                   wa_return
                   abap_true
                   空间。
         万一。
       万一。
     万一。
 
4条回答
樱桃小丸子0093
2020-09-01 16:17

嗨Raphael,

也许 需要填充界面中没有的字段,因此,您需要使用增强功能,检查是否有任何SELECT,读取哪个表,是否使用键或索引。 也许容易的是使用ST05运行跟踪并检查输出,通常此分析通常在SQL中报告瓶颈。

我希望它对您有帮助

注意事项

Eduardo

一周热门 更多>