BUT051表未使用BUR_BUPR_BUT051_COLLECT更新 [英] BUT051 table is not updated with BUR_BUPR_BUT051_COLLECT
本文介绍了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_mstcln
是c(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屋!
查看全文