CO_XT_COMPONENTS_DELETE 删除工单组件

form frm_del_compnt changing ps_resb type ty_resb_alv.

data: ls_resb type ty_resb.
data: lt_resbkeys_to_delete type coxt_t_resbdel with header line.
data: es_bapireturn type table of coxt_bapireturn with header line.
data: e_error_occurred type c.
data e_order_key type coxt_ord_key.
data et_ord_key_map type coxt_t_ord_key_map.
data et_bapireturn type coxt_t_bapireturn.
data lv_error.

loop at gt_resb into ls_resb where ordid = ps_resb-ordid and matnr = ps_resb-matnr and posnr = ps_resb-posnr.
lt_resbkeys_to_delete-rsnum = ls_resb-rsnum.
lt_resbkeys_to_delete-rspos = ls_resb-rspos.
lt_resbkeys_to_delete-matnr = ls_resb-matnr.
lt_resbkeys_to_delete-werks = ls_resb-werks.
lt_resbkeys_to_delete-bdmng = ls_resb-bdmng.
lt_resbkeys_to_delete-meins = ls_resb-meins.
append lt_resbkeys_to_delete.
endloop.

CALL FUNCTION ‘CO_XT_ORDER_INITIALIZE’.

call function ‘CO_XT_COMPONENTS_DELETE’
exporting
it_resbkeys_to_delete = lt_resbkeys_to_delete[]

  • IS_COMP_NR            =
    

    importing
    e_error_occurred = lv_error
    tables
    ct_bapireturn = es_bapireturn[]
    exceptions
    delete_failed = 1
    others = 2.

    if lv_error = 0.
    perform change_flag_set(saplcozv).

    call function ‘CO_XT_ORDER_PREPARE_COMMIT’
    importing
    e_order_key = e_order_key
    es_bapireturn = es_bapireturn
    e_error_occurred = e_error_occurred
    tables
    et_ord_key_map = et_ord_key_map
    et_bapireturn = et_bapireturn.
    if sy-subrc = 0.
    commit work and wait.
    ls_resb-messg = ‘已更新’.
    ls_resb-xloek = ‘X’.
    else.
    delete et_bapireturn where type <> ‘E’ or type <> ‘A’.
    read table et_bapireturn into es_bapireturn index 1.
    ls_resb-messg = ‘更新失败’.
    endif.
    endif.

    modify gt_resb from ls_resb transporting messg xloek where ordid = ps_resb-ordid and matnr = ps_resb-matnr and posnr = ps_resb-posnr.
    ps_resb-messg = ls_resb-messg.
    ps_resb-xloek = ls_resb-xloek.
    endform.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值