ABAP DEMO BAPI_NETWORK_COMP_REMOVE CO02 生产订单组件删除

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.
  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值