Hi, experts.
How i can delete items from delivery and insert a new one.
I tried, with ‘WS_DELIVERY_UPDATE_2′ but don’t understand why it’s wrong.
I’m getting an VL605 error message.
exporting
IS_DLV_DATA_CONTROL = IS_DLV_DATA_CONTROL
tables
IT_VBELN = R_VBELN
ET_DELIVERY_HEADER = IT_DELIVERY_HEADER
ET_DELIVERY_ITEM = IT_DELIVERY_ITEM
delete it_delivery_item where charg is INITIAL.
*don’t touch the same values
loop at it_items into ls_item.
read table it_delivery_item into ls_delivery_item with key matnr = ls_item-matnr
charg = ls_item-charg
lfimg = ls_item-lfimg.
if sy-subrc = 0.
delete it_delivery_item where matnr = ls_item-matnr
and charg = ls_item-charg
and lfimg = ls_item-lfimg.
delete it_items where matnr = ls_item-matnr
and charg = ls_item-charg
and lfimg = ls_item-lfimg.
endif.
endloop.
loop at it_delivery_item into ls_delivery_item.
clear vbpok_ls.
vbpok_ls-vbeln_vl = ls_delivery_item-vbeln.
vbpok_ls-posnr_vl = ls_delivery_item-posnr.
vbpok_ls-vbeln = ls_delivery_item-vbeln.
vbpok_ls-lfimg = ls_delivery_item-lfimg.
vbpok_ls-posnn = ls_delivery_item-posnr.
vbpok_ls-meins = ls_delivery_item-meins.
vbpok_ls-matnr = ls_delivery_item-matnr.
vbpok_ls-charg = ls_delivery_item-charg.
vbpok_ls-lips_del = ‘X’.
append vbpok_ls to vbpok_lt.
endloop.
loop at it_items into ls_item.
lv_posnr = lv_posnr + 1.
clear vbpok_ls.
vbpok_ls-vbeln_vl = ls_delivery_item-vbeln.
vbpok_ls-posnr_vl = ls_delivery_item-posnr.
vbpok_ls-vbeln = ls_delivery_item-vbeln.
vbpok_ls-posnn = lv_posnr.
vbpok_ls-vbtyp_n = ‘J’.
vbpok_ls-lianp = ‘X’.
vbpok_ls-taqui = ‘X’.
* vbpok_ls-pikmg = ls_item-lfimg.
vbpok_ls-lfimg = ls_item-lfimg.
vbpok_ls-charg = ls_item-charg.
vbpok_ls-matnr = ls_item-matnr.
APPEND vbpok_ls TO vbpok_lt.
endloop.
call function ‘WS_DELIVERY_UPDATE_2’
exporting
vbkok_wa = vbkok_ls
* commit = ‘X’
delivery = ts_header-vbeln
* update_picking = ‘X’
nicht_sperren_1 = ‘X’
if_database_update_1 = ‘1’
importing
ef_error_any = ef_error_any
ef_error_in_item_deletion = ef_error_in_item_deletion
ef_error_in_pod_update = ef_error_in_pod_update
ef_error_in_interface = ef_error_in_interface
ef_error_in_goods_issue = ef_error_in_goods_issue
ef_error_in_final_check = ef_error_in_final_check
ef_error_partner_update = ef_error_partner_update
ef_error_sernr_update = ef_error_sernr_update
tables
vbpok_tab = vbpok_lt
prot = prot_lt
exceptions
error_message = 1
others = 2.