话不多说 上技师
DATA: i_yvbpa TYPE TABLE OF vbpavb WITH HEADER LINE.
DATA: i_xvbpa TYPE TABLE OF vbpavb WITH HEADER LINE.
DATA: i_xvbadr TYPE TABLE OF sadrvb WITH HEADER LINE.
DATA: i_yvbadr TYPE TABLE OF sadrvb WITH HEADER LINE.
用销售单号取出信息
SELECT * INTO TABLE @DATA(lt_vbpa)
FROM vbpa
FOR ALL ENTRIES IN @gt_output_va02
WHERE vbeln = @gt_output_va02-vbeln
AND posnr = 0.
SORT lt_vbpa BY vbeln posnr parvw.
IF lt_vbpa IS NOT INITIAL.
SELECT * INTO TABLE @DATA(lt_adrc)
FROM adrc
FOR ALL ENTRIES IN @lt_vbpa
WHERE addrnumber = @lt_vbpa-adrnr.
SORT lt_adrc BY addrnumber.
ENDIF.
当BAPI_SALESORDER_CHANGE执行成功后 处理插入内表执行 SD_PARTNER_UPDATE
"送达方
IF gs_output_va-ablad IS NOT INITIAL.
READ TABLE lt_vbpa INTO DATA(lw_vbpa) WITH KEY vbeln = gs_output_va-vbeln posnr = 0 parvw = 'WE' BINARY SEARCH .
IF sy-subrc = 0 .
MOVE-CORRESPONDING lw_vbpa TO i_xvbpa.
MOVE-CORRESPONDING lw_vbpa TO i_yvbpa.
i_xvbpa-updkz = 'U'.
i_xvbpa-ablad = gs_output_va-ablad. "卸货点
APPEND i_xvbpa.
APPEND i_yvbpa.
CLEAR:i_yvbpa,i_xvbpa.
* APPEND i_xvbpa .
READ TABLE lt_adrc INTO DATA(lw_adrc) WITH KEY addrnumber = lw_vbpa-adrnr BINARY SEARCH.
IF sy-subrc = 0.
MOVE-CORRESPONDING lw_adrc TO i_xvbadr.
MOVE-CORRESPONDING lw_adrc TO i_yvbadr.
APPEND i_xvbadr.
APPEND i_yvbadr.
CLEAR:i_xvbadr,i_yvbadr.
ENDIF.
ENDIF.
CALL FUNCTION 'SD_PARTNER_UPDATE'
EXPORTING
f_vbeln = gs_output_va-vbeln
object = 'VBPA'
TABLES
i_xvbadr = i_xvbadr[]
i_xvbpa = i_xvbpa[]
i_yvbadr = i_yvbadr[]
i_yvbpa = i_yvbpa[]
* I_XVBPA2 =
* I_YVBPA2 =
.
ENDIF.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
lv_status = icon_green_light.