我正在尝试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)
,这是新的伙伴编号。 - Internal Table
lt_partners_so
是一个合作伙伴表,所有这些都需要替换为p_mstcln
inbut051
。
我是否使用了正确的功能?
是否有另一个功能模块可以做我想做的事情(更新中的字段partner1
)but051
?