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

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+ ).