Hi, experts.
How to do a post like in vl02.
I tried this, but it’s only change a picking quantity.
is_dlv_data_control TYPE bapidlvbuffercontrol,
it_delivery_header TYPE TABLE OF bapidlvhdr,
it_delivery_item TYPE TABLE OF bapidlvitem,
r_vbeln TYPE RANGE OF vbeln,
s_vbeln LIKE LINE OF r_vbeln,
vbpok_ls TYPE vbpok,
kostk TYPE vbuk-kostk,
vbpok_lt TYPE TABLE OF vbpok,
vbkok_ls TYPE vbkok,
return2 TYPE bapiret2, “#EC NEEDED
prot_lt TYPE TABLE OF prott.
DATA:
ef_error_any_0 TYPE xfeld, “#EC NEEDED
ef_error_in_item_deletion_0 TYPE xfeld, “#EC NEEDED
ef_error_in_pod_update_0 TYPE xfeld, “#EC NEEDED
ef_error_in_interface_0 TYPE xfeld, “#EC NEEDED
ef_error_in_goods_issue_0 TYPE xfeld, “#EC NEEDED
ef_error_in_final_check_0 TYPE xfeld, “#EC NEEDED
ef_error_partner_update TYPE xfeld, “#EC NEEDED
ef_error_sernr_update TYPE xfeld . “#EC NEEDED
FIELD-SYMBOLS:
<fs_delivery_item> LIKE LINE OF it_delivery_item.
CALL FUNCTION ‘ENQUEUE_EVVBLKE’
EXPORTING
vbeln = vbeln
EXCEPTIONS
foreign_lock = 2
system_failure = 3.
if sy-subrc = 1.
elseif sy-subrc = 2.
elseif sy-subrc = 3.
endif.
*Проверяем статус общее комплектование по поставке укомплектована = ‘C’
SELECT SINGLE kostk INTO kostk FROM vbuk WHERE kostk <> ‘C’ AND vbeln = vbeln.
IF sy-subrc <> 0.
EXIT.
ENDIF.
is_dlv_data_control-item = ‘X’.
s_vbeln-low = vbeln.
s_vbeln-option = ‘EQ’.
s_vbeln-sign = ‘I’.
APPEND s_vbeln TO r_vbeln.
CALL FUNCTION ‘BAPI_DELIVERY_GETLIST’
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.
LOOP AT it_delivery_item ASSIGNING <fs_delivery_item> WHERE lfimg > 0.
SELECT SINGLE kosta INTO kostk FROM vbup WHERE kosta <> ‘C’ AND vbeln = <fs_delivery_item>-vbeln AND posnr = <fs_delivery_item>-posnr.
IF sy-subrc <> 0.
CONTINUE.
ENDIF.
vbpok_ls-vbeln_vl = <fs_delivery_item>-vbeln.
vbpok_ls-posnr_vl = <fs_delivery_item>-posnr.
vbpok_ls-vbeln = sy-datum.
vbpok_ls-posnn = <fs_delivery_item>-posnr.
vbpok_ls-lianp = ‘X’.
vbpok_ls-lfimg = <fs_delivery_item>-lfimg.
vbpok_ls-taqui = ‘X’.
vbpok_ls-pikmg = vbpok_ls-lfimg.
APPEND vbpok_ls TO vbpok_lt.
vbkok_ls-vbeln_vl = vbeln.
ENDLOOP.
CALL FUNCTION ‘WS_DELIVERY_UPDATE’
EXPORTING
vbkok_wa = vbkok_ls
COMMIT = ‘X’
if_error_messages_send_0 = ‘X’
update_picking = ‘X’
nicht_sperren = ‘X’
delivery = vbeln
IMPORTING
ef_error_any_0 = ef_error_any_0
ef_error_in_item_deletion_0 = ef_error_in_item_deletion_0
ef_error_in_pod_update_0 = ef_error_in_pod_update_0
ef_error_in_interface_0 = ef_error_in_interface_0
ef_error_in_goods_issue_0 = ef_error_in_goods_issue_0
ef_error_in_final_check_0 = ef_error_in_final_check_0
ef_error_partner_update = ef_error_partner_update
ef_error_sernr_update = ef_error_sernr_update
TABLES
vbpok_tab = vbpok_lt
prot = prot_lt.
CALL FUNCTION ‘BAPI_TRANSACTION_COMMIT’
EXPORTING
WAIT = ‘X’
IMPORTING
RETURN = return2.