2015 Feb 02 6:46 AM
Hi, I am using BAPI_OUTB_DELIVERY_CHANGE for deleting delivery. But here I have different requirement.
I want to apply Billing document block reason before deleting the delivery.
e.g. T code : VL02N -> put delivery document -> Go to line item -> Financial Processing -> Apply billing block reason (LIPS-FAKSP)
Can you please tell me how to apply billing block reason (update field LIPS-FAKSP) through BAPI_OUTB_DELIVERY_CHANGE or BAPI_PO_CHANGE ??
my code is as below :-
CLEAR gs_header_data.
gs_header_data-deliv_numb = <fs_ekbe>-belnr.
* gs_header_data-unit_of_wt = 'EA'.
CLEAR gs_header_control.
gs_header_control-deliv_numb = <fs_ekbe>-belnr.
gs_header_control-dlv_del = gc_x.
CLEAR gs_delivery.
gs_delivery = <fs_ekbe>-belnr.
REFRESH gt_return.
CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'
EXPORTING
header_data = gs_header_data
header_control = gs_header_control
delivery = gs_delivery
TABLES
return = gt_return.
READ TABLE gt_return ASSIGNING <fs_return> WITH KEY type = 'S'.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
CLEAR gs_poheader.
gs_poheader-po_number = <fs_ekko>-ebeln.
gs_poheader-delete_ind = gc_x.
CLEAR gs_poheaderx.
gs_poheaderx-po_number = gc_x.
gs_poheaderx-delete_ind = gc_x.
CLEAR gs_poitem.
REFRESH gt_poitem.
gs_poitem-po_item = '00010'.
gs_poitem-delete_ind = gc_x .
APPEND gs_poitem TO gt_poitem.
CLEAR gs_poitemx.
REFRESH gt_poitemx.
gs_poitemx-po_item = '00010'.
gs_poitemx-po_itemx = gc_x .
gs_poitemx-delete_ind = gc_x .
APPEND gs_poitemx TO gt_poitemx.
REFRESH gt_return.
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
purchaseorder = <fs_ekbe>-ebeln
poheader = gs_poheader
poheaderx = gs_poheaderx
IMPORTING
expheader = gs_expheader
exppoexpimpheader = gs_exppoexpimpheader
TABLES
return = gt_return
poitem = gt_poitem
poitemx = gt_poitemx.
READ TABLE gt_return ASSIGNING <fs_return> WITH KEY type = 'S'.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
PERFORM append_ekko_new.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
READ TABLE gt_return ASSIGNING <fs_return> WITH KEY type = 'E'.
IF sy-subrc = 0.
PERFORM append_ekko_new.
ENDIF.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
LOOP AT gt_return ASSIGNING <fs_return> WHERE type NE 'S'.
MOVE-CORRESPONDING <fs_ekko> TO wa_ekko.
APPEND wa_ekko TO gt_ekko_new.
ENDLOOP.
ENDIF.
Hi, I am using BAPI_OUTB_DELIVERY_CHANGE for deleting delivery. But here I have different requirement.
I want to apply Billing document block reason before deleting the delivery.
e.g. T code : VL02N -> put delivery document -> Go to line item -> Financial Processing -> Apply billing block reason (LIPS-FAKSP)
Can you please tell me how to apply billing block reason (update field LIPS-FAKSP) through BAPI_OUTB_DELIVERY_CHANGE or BAPI_PO_CHANGE ??
my code is as below :-
CLEAR gs_header_data.
gs_header_data-deliv_numb = <fs_ekbe>-belnr.
* gs_header_data-unit_of_wt = 'EA'.
CLEAR gs_header_control.
gs_header_control-deliv_numb = <fs_ekbe>-belnr.
gs_header_control-dlv_del = gc_x.
CLEAR gs_delivery.
gs_delivery = <fs_ekbe>-belnr.
REFRESH gt_return.
CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'
EXPORTING
header_data = gs_header_data
header_control = gs_header_control
delivery = gs_delivery
TABLES
return = gt_return.
READ TABLE gt_return ASSIGNING <fs_return> WITH KEY type = 'S'.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
CLEAR gs_poheader.
gs_poheader-po_number = <fs_ekko>-ebeln.
gs_poheader-delete_ind = gc_x.
CLEAR gs_poheaderx.
gs_poheaderx-po_number = gc_x.
gs_poheaderx-delete_ind = gc_x.
CLEAR gs_poitem.
REFRESH gt_poitem.
gs_poitem-po_item = '00010'.
gs_poitem-delete_ind = gc_x .
APPEND gs_poitem TO gt_poitem.
CLEAR gs_poitemx.
REFRESH gt_poitemx.
gs_poitemx-po_item = '00010'.
gs_poitemx-po_itemx = gc_x .
gs_poitemx-delete_ind = gc_x .
APPEND gs_poitemx TO gt_poitemx.
REFRESH gt_return.
CALL FUNCTION 'BAPI_PO_CHANGE'
EXPORTING
purchaseorder = <fs_ekbe>-ebeln
poheader = gs_poheader
poheaderx = gs_poheaderx
IMPORTING
expheader = gs_expheader
exppoexpimpheader = gs_exppoexpimpheader
TABLES
return = gt_return
poitem = gt_poitem
poitemx = gt_poitemx.
READ TABLE gt_return ASSIGNING <fs_return> WITH KEY type = 'S'.
IF sy-subrc = 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
PERFORM append_ekko_new.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
READ TABLE gt_return ASSIGNING <fs_return> WITH KEY type = 'E'.
IF sy-subrc = 0.
PERFORM append_ekko_new.
ENDIF.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
LOOP AT gt_return ASSIGNING <fs_return> WHERE type NE 'S'.
MOVE-CORRESPONDING <fs_ekko> TO wa_ekko.
APPEND wa_ekko TO gt_ekko_new.
ENDLOOP.
ENDIF.
2015 Feb 02 6:59 AM
2015 Feb 02 9:44 AM
I searched but nowhere it is mentioned how to use BAPI " SHP_BAPI_DELIVERY_CHANGE"..
Can u pls help ??
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |