PERFORM frm_delete_co02.
*&---------------------------------------------------------------------*
*& Form frm_delete_co02
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM frm_delete_co02 .
DATA: lv_number TYPE bapi_network_list-network,
lt_detail TYPE TABLE OF bapi_network_comp_detail,
lt_comp_id TYPE TABLE OF bapi_network_comp_id,
lt_return TYPE TABLE OF bapi_meth_message.
lv_number = 'AUFNR'.
" 获取订单组件信息
CALL FUNCTION 'BAPI_NETWORK_COMP_GETDETAIL'
EXPORTING
number = lv_number
TABLES
e_components_detail = lt_detail.
LOOP AT lt_detail INTO DATA(ls_detail) WHERE reserv_no = 'RSNUM' AND res_item = 'RSPOS' .
APPEND VALUE #( component = ls_detail-component ) TO lt_comp_id.
ENDLOOP.
IF lt_comp_id IS NOT INITIAL.
CALL FUNCTION 'BAPI_NETWORK_COMP_REMOVE'
EXPORTING
number = lv_number
TABLES
i_components_remove = lt_comp_id
e_message_table = lt_return.
LOOP AT lt_return INTO DATA(ls_return) WHERE message_type CA 'EAX'.
MESSAGE ID ls_return-message_id
TYPE ls_return-message_type
NUMBER ls_return-message_number
WITH ls_return-message_text
INTO DATA(lv_text).
CONCATENATE lv_zmsg lv_text INTO DATA(lv_zmsg) SEPARATED BY '/'.
ENDLOOP.
IF lv_zmsg IS NOT INITIAL.
CONCATENATE '订单删除组件失败' lv_zmsg INTO lv_zmsg SEPARATED BY '/'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
lv_zmsg = '订单删除组件成功'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = abap_true.
ENDIF.
ENDIF.
ENDFORM.
ABAP DEMO BAPI_NETWORK_COMP_REMOVE CO02 生产订单组件删除
最新推荐文章于 2024-04-25 03:48:56 发布