DATA: ls_central TYPE bapibus1006_central,
ls_centralx TYPE bapibus1006_central_x,
lt_return TYPE STANDARD TABLE OF bapiret2 WITH HEADER LINE.
DATA: l_partner TYPE bapibus1006_head-bpartner,
l_msg(220).
READ TABLE gt_alv WITH KEY sel = 'X'.
IF sy-subrc <> 0.
MESSAGE '请选择需要修改的行!' TYPE 'S' DISPLAY LIKE 'E'.
EXIT.
ENDIF.
BREAK-POINT.
LOOP AT gt_alv.
l_partner = gt_alv-partner.
ls_central-searchterm1 = gt_alv-bu_sort1.
ls_centralx-searchterm1 = 'X'.
CALL FUNCTION 'BAPI_BUPA_CENTRAL_CHANGE'
EXPORTING
businesspartner = l_partner
centraldata = ls_central
centraldata_x = ls_centralx
TABLES
return = lt_return[].
LOOP AT lt_return WHERE type CA 'EAX'.
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
msgid = lt_return-id
msgnr = lt_return-number
msgv1 = lt_return-message_v1
msgv2 = lt_return-message_v2
msgv3 = lt_return-message_v3
msgv4 = lt_return-message_v4
IMPORTING
message_text_output = l_msg.
gt_alv-msg = gt_alv-msg && l_msg && ';'.
ENDLOOP.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
gt_alv-type = 'E'.
gt_alv-sicon = c_red.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
gt_alv-type = 'S'.
gt_alv-sicon = c_green.
gt_alv-msg = '修改成功!'.
ENDIF.
MODIFY gt_alv.
CLEAR gt_alv.
ENDLOOP.
下一篇: 自建权限对象增加组织级别...