如何解决BUT051 表没有用 BUR_BUPR_BUT051_COLLECT 更新
我正在尝试使用功能模块 BUT051
更新数据库表 BUR_BUPR_BUT051_COLLECT
。
问题是它根本没有更新。
这是我目前用于更新 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
是合作伙伴的表,所有这些都需要在p_mstcln
中替换为but051
。
我是否使用了正确的功能?
是否有另一个功能模块可以执行我想要的操作(更新 partner1
中的字段 but051
)?
解决方法
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。