Skip to Content
0
Sep 04, 2023 at 04:59 AM

Which BAPI to call to change MARC's CONS_PROCG (Consignment Control)?

23 Views

Which BAPI to call to change MARC's CONS_PROCG (Consignment Control)?


DATA:
lt_plantdata TYPE TABLE OF bapie1marcrt WITH HEADER LINE,
lt_plantdatax TYPE TABLE OF bapie1marcrtx WITH HEADER LINE,
lv_function TYPE bapie1mathead-function,
ls_headdata LIKE bapie1mathead,
ls_return LIKE bapireturn1,
lt_store TYPE TABLE OF znmmms_mm001_dc,
ls_store TYPE znmmms_mm001_dc,
lt_input TYPE TABLE OF znmmms_mm001_input,
ls_input TYPE znmmms_mm001_input.

LOOP AT i_item.
CLEAR: ls_headdata, lt_plantdata, lt_plantdatax, ls_return.

CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
input = i_item-matnr
IMPORTING
output = i_item-matnr
EXCEPTIONS
length_error = 1
OTHERS = 2.


ls_headdata-material = i_item-matnr.
ls_headdata-logst_view = 'X'.
ls_headdata-logdc_view = 'X'.

* ls_headdata-function = '004'.

lv_function = '004'.

* lt_plantdata-function = lv_function.
lt_plantdata-material = i_item-matnr. "Material code
lt_plantdata-plant = i_item-plant.
IF i_item-cons <> 'X'.
lt_plantdata-consignment_control = 3.
ENDIF.
APPEND lt_plantdata.

lt_plantdatax-function = lv_function.
lt_plantdatax-material = i_item-matnr. "Material code
lt_plantdatax-plant = i_item-plant.
IF i_item-cons <> 'X'.
lt_plantdatax-consignment_control = 'X'.
ENDIF.
APPEND lt_plantdatax.

ls_store-matnr = i_item-matnr.
ls_store-werks = i_item-plant.
ls_store-cons_procg = i_item-cons.

APPEND ls_store TO lt_store.

ls_input-matnr = i_item-matnr.

APPEND ls_input TO lt_input.

CALL FUNCTION 'BAPI_MATERIAL_MAINTAINDATA_RT'
EXPORTING
headdata = ls_headdata
IMPORTING
return = ls_return
TABLES
plantdata = lt_plantdata
planningdatax = lt_plantdatax.

IF ls_return-type EQ 'E' OR ls_return-type EQ 'A'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.


ENDLOOP.