Create the material details from excel file using BAPI in ABAP.

 FM- BAPI_MATERIAL_SAVEDATA

Step 1: Create the excel sheet with mandatory fields.





Step 2: Goto SE38 and create an executable program.

Report program.

REPORT zab_bapi_material_create_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 created sucessfully'.
    ELSE.
      write / lw_return-message.

    ENDIF.

  ENDLOOP.


Input



Output




Check The data.

1. Goto SE11 and give table name as MARA.

2. Goto Contents give material number.


3. Execute.



Comments