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.

TYPESBEGIN 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.

DATAlw_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.


PARAMETERSp_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.
    CLEARlw_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

Popular posts from this blog

New syntax for append- VALUE (new syntax 7.4+) in ABAP

Read statement new syntax in ABAP. (7.4+).

Concatenation new syntax( 7.4+ ).