BUT051表未使用BUR_BUPR_BUT051_COLLECT更新 [英] BUT051 table is not updated with BUR_BUPR_BUT051_COLLECT

查看:0
本文介绍了BUT051表未使用BUR_BUPR_BUT051_COLLECT更新的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用函数模块BUR_BUPR_BUT051_COLLECT更新数据库表BUT051

问题是它根本不更新。

以下是我当前用来更新BUT051的部分代码。 注意:我尝试更新的字段是BUT051~PARTNER1

FORM update_but051.

  "--------------------------------------------------------------------"
  " TABLES
  "--------------------------------------------------------------------"
  DATA: lt_but051 TYPE TABLE OF but051.

  "--------------------------------------------------------------------"
  " STRUCTURES
  "--------------------------------------------------------------------"
  DATA: ls_but051 TYPE but051.

  REFRESH: lt_but051.
  CLEAR: ls_but051.

  " Getting all relationships of the given accounts/partners
  SELECT * FROM but051 INTO TABLE lt_but051 WHERE partner1 IN lt_partners_so.

  " Replacing all partners(field `partner1`) with the master partner.
  ls_but051-partner1 = p_mstcln.
  MODIFY lt_but051 FROM ls_but051 TRANSPORTING partner1 WHERE partner1 <> p_mstcln.

  CLEAR: ls_but051.

  LOOP AT lt_but051 INTO ls_but051.

     CALL FUNCTION 'BUR_BUPR_BUT051_COLLECT'
      EXPORTING
        i_subname = 'BUT051'
        i_but051  = ls_but051.
  ENDLOOP.

  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait = abap_true.

ENDFORM.

关于此代码的几点注意事项:

  • 变量p_mstclnc(10)类型的参数,这是新的合作伙伴编号。
  • 内部表lt_partners_so是需要在but051中全部替换为p_mstcln的合作伙伴表。

我是否使用了正确的函数?

有没有其他功能模块可以完成我想做的事情(更新but051中的字段partner1)?

推荐答案

BUT051是业务合作伙伴关系表,SAP有专门说明:

2594686 - Mass update relationships for BP

建议使用以下函数模块更新关系:

  • BAPI_BUPR_Relationship_Change
  • BAPI_BUPR_Relationship_Create
  • BAPI_BUPR_Relationship_DELETE
  • BAPI_BUPR_Relationship_Get
  • BAPI_BUPR_Relationship_Remove
  • BAPI_BUPR_RELSHIP_CHECKEXIST
  • BAPI_BUPR_RELSHIP_GET_DETAIL

这篇关于BUT051表未使用BUR_BUPR_BUT051_COLLECT更新的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆