Update UOM and material group from excel file to SAP system by using BAPI in ABAP.
FM- BAPI_MATERIAL_SAVEDATA
Step 1: Goto SE11 give table name as MARA. Goto contents give material number and execute.
Step 2: Goto SE38 create program and write code.
Report Program
REPORT ZAB_BAPI_MATERIAL_UPDATE_EXCEL.
TYPES: BEGIN OF ty_mara,
matnr TYPE mara-matnr,
mbrsh TYPE mara-mbrsh,
mtart TYPE mara-mtart,
maktx TYPE makt-maktx,
meins TYPE mara-meins,
matkl TYPE mara-matkl,
END OF ty_mara.
DATA: lw_mara TYPE ty_mara,
it_mara TYPE TABLE OF ty_mara,
lw_head TYPE bapimathead,
lw_bmara TYPE bapi_mara,
lw_marax TYPE bapi_marax,
it_mdesc TYPE TABLE OF bapi_makt,
lw_mdesc TYPE bapi_makt,
it_raw TYPE truxs_t_text_data,
lw_return TYPE bapiret2,
it_return TYPE TABLE OF bapiret2.
PARAMETERS: p_file TYPE ibipparms-path DEFAULT 'C:\Users\JFR2KOR\Documents\material.xlsx'.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
IMPORTING
file_name = p_file.
START-OF-SELECTION.
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
i_line_header = 'X'
i_tab_raw_data = it_raw
i_filename = p_file
TABLES
i_tab_converted_data = it_mara
EXCEPTIONS
conversion_failed = 1
OTHERS = 2.
* cl_demo_output=>display( it_mara ).
LOOP AT it_mara INTO lw_mara.
CLEAR: lw_head,lw_bmara,lw_mdesc,lw_return.
lw_head-material = lw_mara-matnr.
lw_head-ind_sector = lw_mara-mbrsh.
lw_head-matl_type = lw_mara-mtart.
lw_bmara-matl_group = lw_mara-matkl.
lw_bmara-base_uom = lw_mara-meins.
lw_marax-base_uom = 'X'.
lw_marax-matl_group = 'X'.
lw_mdesc-matl_desc = lw_mara-maktx.
lw_mdesc-langu = 'EN'.
APPEND lw_mdesc TO it_mdesc.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = lw_head
clientdata = lw_bmara
clientdatax = lw_marax
IMPORTING
return = lw_return
TABLES
materialdescription = it_mdesc.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
APPEND lw_return TO it_return.
ENDLOOP.
LOOP AT it_return INTO lw_return.
IF lw_return IS INITIAL.
WRITE: / 'Material details updated sucessfully'.
ELSE.
WRITE : / lw_return-message.
ENDIF.
ENDLOOP.
Excel file
Input
Output
Check The data.
1. Goto SE11 and give table name as MARA.
2. Goto Contents give material number.
3. Execute.
Comments
Post a Comment