BAPI or RFC to create material

Hi folks,
        Could any one tell me, if there is any BAPI or RFC to create Material in Material master....if so pls tel me the name and how to use the BAPI...thanks in advance,
                          santosh.

HI CHECK OU THIS PROGRAM
*& Report  ZBAPI_MATERIAL_SAVEDATA
**& AUTHOR *
*& PURPOSE : THIS REPORT USES BAPI MATERIAL SAVE DATA TO UPDATE AND CREATE
*&           THE MATERIAL
REPORT  ZBAPI_MATERIAL_SAVEDATA NO STANDARD PAGE HEADING MESSAGE-ID (ZHNC).
TYPES:BEGIN OF TY_MAT,
       MATERIAL(4),
       IND_SECTOR(1),
       MATL_TYPE(4),
      BASIC_VIEW(1),*
      SALES_VIEW(1),*
      PURCHASE_VIEW(1),*
      STORAGE_VIEW(1),*
       MATL_GROUP(9),
       BASE_UOM(3),
       BASE_UOM_ISO(3),
      MATL_GROUP1(1),*
      BASE_UOM1(1),*
      BASE_UOM_ISO1(1),*
       PLANT(4),
       DEL_FLAG(1),
       PUR_GROUP(3),
       BASE_QTY(13),
      PLANT2(4),*
      DEL_FLAG5(1),*
      PUR_GROUP1(1),*
      BASE_QTY1(1),*
      PLANT3(4),*
       STGE_LOC(4),
       MRP_IND(1),
      PLANT4(4),*
      STGE_LOC1(4),*
      MRP_IND1(1),*
       SALES_ORG(4),
       DISTR_CHAN(2),
       DEL_FLAG1(1),
       MIN_ORDER(13),
      SALES_ORG1(4),*
      DISTR_CHAN1(2),*
      DEL_FLAG2(1),*
      MIN_ORDER1(1),*
       LANGU(2),
      MATL_DESC(40),
   END OF TY_MAT.
DATA: IT_DATA TYPE TABLE OF TY_MAT,
      WA_DATA LIKE LINE  OF IT_DATA.
*decalraing flag
data: v_flag value ''.
*DECLARING WORK AREAs  TO BE PASSED TO THE FUNCTION MODULE.
DATA: BAPI_HEAD LIKE BAPIMATHEAD,
      BAPI_CLIENTDATA LIKE BAPI_MARA,
      BAPI_CLIENTDATAX LIKE BAPI_MARAX,
      BAPI_PLANTDATA LIKE BAPI_MARC,
      BAPI_PLANTDATAX LIKE  BAPI_MARCX,
      BAPI_STORAGELOCATIONDATA LIKE BAPI_MARD,
      BAPI_STORAGELOCATIONDATAX LIKE BAPI_MARDX,
      BAPI_SALESDATA LIKE BAPI_MVKE,
      BAPI_SALESDATAX LIKE BAPI_MVKEX,
      BAPI_MAKT LIKE BAPI_MAKT,
      BAPI_RETURN LIKE BAPIRET2.
*INTERNAL TABLE TO HOLD THE MATERIAL DESCRIPTION
DATA: BEGIN OF IT_MAKT OCCURS 0.
INCLUDE STRUCTURE BAPI_MAKT.
DATA END OF IT_MAKT.
DATA:BEGIN OF IT_RET OCCURS 0.
INCLUDE STRUCTURE BAPIRET2.
DATA END OF IT_RET.
*INTERNAL TABLE TO HOLD HEADER DATA
DATA: IT_EXCEL TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
*SELECTION-SCREEN ELEMENTS
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER: FNAME TYPE RLGRAP-FILENAME OBLIGATORY DEFAULT 'C:\Documents and Settings\Administrator\Desktop\MATMAS.XLS' .
PARAMETERS: P_BEGCOL TYPE I DEFAULT 1 NO-DISPLAY,
            P_BEGROW TYPE I DEFAULT 1 NO-DISPLAY,
            P_ENDCOL TYPE I DEFAULT 100 NO-DISPLAY,
            P_ENDROW TYPE I DEFAULT 32000 NO-DISPLAY.
SELECTION-SCREEN END OF BLOCK B1.
*DECLARATION OF EXCELAL TABLE
AT SELECTION-SCREEN ON VALUE-REQUEST FOR FNAME.
PERFORM F_GET_FILE USING FNAME.
START-OF-SELECTION.
PERFORM F_XLS_ITAB USING FNAME
                   CHANGING IT_EXCEL.
PERFORM F_MOVE_DATA.
perform F_GET_DATA.
*&      Form  F_GET_FILE
      text*
     -->P_FNAME  text*
     <--P_SY_SUBRC  text*
FORM F_GET_FILE  USING    P_FNAME LIKE FNAME.
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
EXPORTING
   PROGRAM_NAME        = SYST-REPID
   DYNPRO_NUMBER       = SYST-DYNNR
  FIELD_NAME          = ' '*
  STATIC              = ' '*
  MASK                = ' '*
  CHANGING
    FILE_NAME           = P_FNAME
EXCEPTIONS*
  MASK_TOO_LONG       = 1*
  OTHERS              = 2*
IF SY-SUBRC <> 0.
MESSAGE E006(ZHNC).
ENDIF.
ENDFORM.                    " F_GET_FILE
*&      Form  F_XLS_ITAB
      text*
     -->P_FNAME  text*
     <--P_IT_EXCEL  text*
FORM F_XLS_ITAB  USING    P_FNAME
                 CHANGING P_IT_EXCEL.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
  EXPORTING
    FILENAME                      = FNAME
    I_BEGIN_COL                   = P_BEGCOL
    I_BEGIN_ROW                   = P_BEGROW
    I_END_COL                     = P_ENDCOL
    I_END_ROW                     = P_ENDROW
  TABLES
    INTERN                        = IT_EXCEL
EXCEPTIONS
   INCONSISTENT_PARAMETERS       = 1
   UPLOAD_OLE                    = 2
   OTHERS                        = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO*
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.*
ENDIF.
ENDFORM.                    " F_XLS_ITAB
*&      Form  F_MOVE_DATA
      text*
-->  p1        text*
<--  p2        text*
FORM F_MOVE_DATA .
DATA : LV_INDEX TYPE I.
FIELD-SYMBOLS <FS>.
*--- Sorting the internal table
SORT IT_EXCEL BY ROW COL.
CLEAR IT_EXCEL.
LOOP AT IT_EXCEL.
MOVE IT_EXCEL-COL TO LV_INDEX.
*--- Assigning the each record to an internal table row
ASSIGN COMPONENT LV_INDEX OF STRUCTURE WA_DATA TO <FS>.
*--- Asigning the field value to a field symbol
MOVE IT_EXCEL-VALUE TO <FS>.
AT END OF ROW.
APPEND WA_DATA TO IT_DATA.
CLEAR WA_DATA.
ENDAT.
ENDLOOP.
ENDFORM.                    " F_MOVE_DATA
*&      Form  F_GET_DATA
      text*
-->  p1        text*
<--  p2        text*
FORM F_GET_DATA .
LOOP AT IT_DATA INTO WA_DATA.
MOVE-CORRESPONDING WA_DATA  TO  BAPI_HEAD.
BAPI_HEAD-BASIC_VIEW ='X'.
BAPI_HEAD-SALES_VIEW ='X'.
BAPI_HEAD-PURCHASE_VIEW ='X'.
BAPI_HEAD-STORAGE_VIEW ='X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_CLIENTDATA.
BAPI_CLIENTDATAX-MATL_GROUP = 'X'.
BAPI_CLIENTDATAX-BASE_UOM = 'X'.
BAPI_CLIENTDATAX-BASE_UOM_ISO = 'X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_PLANTDATA.
BAPI_PLANTDATAX-PLANT = BAPI_PLANTDATA-PLANT.
BAPI_PLANTDATAX-DEL_FLAG = 'X'.
BAPI_PLANTDATAX-PUR_GROUP = 'X'.
BAPI_PLANTDATAX-BASE_QTY = 'X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_STORAGELOCATIONDATA.
BAPI_STORAGELOCATIONDATA-PLANT = BAPI_PLANTDATA-PLANT.
BAPI_STORAGELOCATIONDATAX-PLANT = BAPI_STORAGELOCATIONDATA-PLANT.
BAPI_STORAGELOCATIONDATAX-STGE_LOC = BAPI_STORAGELOCATIONDATA-STGE_LOC.
BAPI_STORAGELOCATIONDATAX-MRP_IND = 'X'.
MOVE-CORRESPONDING WA_DATA TO BAPI_SALESDATA.
BAPI_SALESDATAX-SALES_ORG = BAPI_SALESDATA-SALES_ORG.
BAPI_SALESDATAX-DISTR_CHAN = BAPI_SALESDATA-DISTR_CHAN.
BAPI_SALESDATAX-DEL_FLAG = BAPI_SALESDATA-DEL_FLAG.
BAPI_SALESDATAX-MIN_ORDER = 'X'.
REFRESH IT_MAKT.
IT_MAKT-LANGU = WA_DATA-LANGU.
IT_MAKT-MATL_DESC = WA_DATA-MATL_DESC.
APPEND IT_MAKT.
CLEAR IT_RET.
REFRESH IT_RET.
PERFORM F_CALL_BAPI.
READ TABLE IT_RET WITH KEY TYPE = 'S'.
IF SY-SUBRC EQ 0.
PERFORM F_BAPI_COMMIT.
WRITE:/ 'MATERIAL CREATED OR UPDATED SUCESSFULLY WITH MATERIAL NO',WA_DATA-MATERIAL.
ELSE.
MESSAGE E000(ZHNC) WITH 'ERROR IN CREATING THE MATERIAL'.
*WRITE: / 'ERROR IN CREATIN MATERIAL',IT_RET-MESSAGE.
*PERFORM F_DOWNLOAD.
ENDIF.
*ENDIF.
ENDLOOP.
ENDFORM.                    " F_GET_DATA
*&      Form  F_CALL_BAPI
      text*
-->  p1        text*
<--  p2        text*
FORM F_CALL_BAPI .
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
  EXPORTING
    HEADDATA                   = BAPI_HEAD
   CLIENTDATA                 =  BAPI_CLIENTDATA
   CLIENTDATAX                =  BAPI_CLIENTDATAX
   PLANTDATA                  =  BAPI_PLANTDATA
   PLANTDATAX                 =  BAPI_PLANTDATAX
   STORAGELOCATIONDATA        =  BAPI_STORAGELOCATIONDATA
   STORAGELOCATIONDATAX       =  BAPI_STORAGELOCATIONDATAX
   SALESDATA                  =  BAPI_SALESDATA
   SALESDATAX                 =  BAPI_SALESDATAX
IMPORTING
   RETURN                     =  IT_RET
TABLES
   MATERIALDESCRIPTION        = IT_MAKT
  UNITSOFMEASURE             =*
  UNITSOFMEASUREX            =*
  INTERNATIONALARTNOS        =*
  MATERIALLONGTEXT           =*
  TAXCLASSIFICATIONS         =*
  RETURNMESSAGES             =*
  PRTDATA                    =*
  PRTDATAX                   =*
  EXTENSIONIN                =*
  EXTENSIONINX               =*
APPEND IT_RET.
ENDFORM.                    " F_CALL_BAPI
*&      Form  F_BAPI_COMMIT
      text*
-->  p1        text*
<--  p2        text*
FORM F_BAPI_COMMIT .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING*
  WAIT         =*
IMPORTING*
  RETURN        =*
ENDFORM.                    " F_BAPI_COMMIT
IF U WANT THE EXCEL FILE I CAN SEND U
PLZ REWARD POINTS TO HELP ANSWERS

Similar Messages

  • Bapi or IDOC  which create material master in ECC

    Hi Guys,
    Can any one let me to know by which function modules or Bapi or IDOC available to create material master in ECC?
    Regards,
    Veera

    hi,
    there are lot many ways of creating Mat master.
    1: you can go for idocs: /CWM/MATMAS_BAPI, /SAPSLL/MATMAS_SLL, ARTMAS, MATMAS..
    2: you can use LSMW batch method:
    Object               0020   Material master
    Method               0000
    Program Name         RMDATIND
    Program Type         D   Direct Input
    3: you can use BAPI as suggested above:
    Business Object      BUS1001006   Standard material
    Method               SAVEDATA                    Create and change materia
    Message Type         MATMAS_BAPI                 Create and change materia
    Basic Type           MATMAS_BAPI03               Create and Change Materia
    ags.

  • Creation of material using BAPI in LSMW without using material no.

    Hi SAP Gurus,
    I have a requirement of creating materials using the BAPI in LSMW.
    I tried to create a material using the BAPI (Business Object - BUS1001006 , and method - SAVEDATA) which should be created internally, but it is asking the material number to be given externally and my configuration is setup to create the material number internally.
    Even I looked into the material type which is associated with the number range and everything looks good.
    Is there any solution to create the material by using BAPI in LSMW without passing the material no. externally ?
    Appreciate your help.
    Kalikonda.

    Hi,
    it looks like it's not possible to call this BAPI wihtout material number. Here is a quote from BAPI documentation.
    When creating material master data, you must transfer the material
    number, the material type, and the industry sector to the method. You
    must also enter a material description and its language.
    Cheers

  • BAPI/FM/RFC in Transaction /isdfps/toe1

    Hi,
    We r doing an Web-dynpro Screen for Oganizational Structure and Tasks(Transaction /isdfps/toe1).
    We need the BAPI/FM/RFC for Create Force Element.
    So PLZ help us for finding BAPI/FM/RFC for Create Force Element in Transaction /isdfps/toe1.
    Regards,
    Sunil sahoo.

    Hi,
    Can any one help me.
    Regards,
    Sunil Sahoo

  • BAPI or FM Required to create Material Master

    IS there any BAPI or Function module avaiable in SAP to create Material Master.
    The following Two BAPIs uses Call transaction, which I dont want.
    BAPI_RETAILMATERIAL_CREATE 
    BAPI_STANDARDMATERIAL_CREATE
    Please let me know if any other Function module or BAPI Avaiable in the system.
    Thanks
    Aman

    Yep,  this one works pretty good.
    call function 'MATERIAL_MAINTAIN_DARK'
             exporting
                  sperrmodus                = ' '
                  kz_prf                    = 'W'
                  max_errors                = ' '
                  p_kz_no_warn              = 'X'
                  kz_verw                   = 'X'
                  kz_aend                   = 'X'
                  kz_dispo                  = 'X'
                  kz_test                   = ' '
                  flag_muss_pruefen         = ' '
                  call_mode                 = 'ACT'
             importing
                  number_errors_transaction = numerror
                  matnr_last     = last_matnr
             tables
                 amara_ueb      = i_mara    "Basic Data
    *             amakt_ueb      = i_makt    "Descriptions
                 amarc_ueb      = i_marc    "Plant
    *             amard_ueb      = i_mard    "Storage Location
    *            AMFHM_UEB      = I_MFHM    "Production Tools
    *             amarm_ueb      = i_marm    "Units of Measure
    *            AMEA1_UEB      = I_MEA1    "Internal Mangagement -  EANs
    *             ambew_ueb      = i_mbew    "Accounting/Costing
    *             asteu_ueb      = i_steu    "Tax Data
    *             astmm_ueb      = i_steumm  "Tax Data
    *            AMLGN_UEB      = I_MLGN    "Warehouse Data
    *            AMLGT_UEB      = I_MLGT    "Storage Type Data
    *            AMPGD_UEB      = I_MPGD    "Change Documents
    *            AMPOP_UEB      = I_MPOP    "Forcast Parameters
    *            AMVEG_UEB      = I_MVEG    "Total Consumption Data
    *            AMVEU_UEB      = I_MVEU    "Unplanned Consumption Data
    *             amvke_ueb      = i_mvke    "Sales Data
    *             altx1_ueb      = i_ltx1    "Sales Text
    *            AMPRW_UEB      = I_MPRW    "Forcast Values
                 amfieldres     = i_delfields
                 amerrdat       = i_errors
             exceptions
                  kstatus_empty             = 01
                  tkstatus_empty            = 02
                  t130m_error               = 03
                  internal_error            = 04
                  update_error              = 05
                  too_many_errors           = 06.
    Regards,
    Rich Heilman

  • Function Module / BAPI for Creating Material freight Group

    Hi All,
    Can anyone tell me the Function Module / Bapi for creating material freight group.
    Regards,
    Raj.

    Bapi for creating material freight group. :: You actually use mm01 or mm02 to change data for material flight.
    So you can use BAPI for mm02 and mm01
    For Ex:
    BAPI_MATERIAL_SAVEDATA
    Hope this helps

  • To create a Material using BAPI with out passing the material number

    Hello Experts,
    I am using BAPI_MATERIAL_SAVEDATA to create a material of some Ztype. I am successfully creating a material if I am passing Material Number as input. I want the material number to generated internally.
    When I am doing material creation with same input data with out material number using BDC, it is working fine. It is generating the material number.
    But, not with the BAPI.
    Do, I need to specify this some where in the BAPI to generate the Material number internally? Please let me know.
    Please help me in this regard.
    Thanks & Regards,
    Naresh.

    Hi,
    Read the BAPI documentation regarding Internal Number range for materials.
    When you create material master data, the following fields must always
    contain a value in the structure:
    o   MATERIAL
        Only external number assignment is supported for the material number
        (MATERIAL). If you want the material number to be assigned
        internally, the method BAPI_MATERIAL_GETINTNUMBER must first be
        called. This method determines an internal number for the material
        to be created. You must enter this internal number in field
        HEADDATA-MATERIAL.
    Regards
    Vinod

  • VB11 - CREATE MATERIAL DETERMINATION. need a BAPI for this

    i have to develop an inbound interface program to create VB11 - CREATE MATERIAL DETERMINATION.
    Can any one suggest me if there is any BAPI for doing this insted of going to BDC program .
    Regards
    Raadha

    I don't think there will be any BAPI to do the update as material determination is itself dynamic depending upon which determination type you chose from - the key field combination changes accordingly. Just like updating pricing doesn't have any general purpose BAPI.
    I think BDC is the only way out here

  • Create material with reference using BAPI

    Hi
    I need to create material using refrence to another material for all material Views. Can I use BAPI_MATERIAL_SAVEREPLICA.
    Which parameter I need to fill for reference materia
    Moderator message: please do your own research before asking.
    Edited by: Thomas Zloch on Jan 12, 2011 3:18 PM

    Hi Goutam,
    You can use the BAPI BAPI_MATERIAL_SAVEDATA, which will create/update the material. You can pass the reference material in the filed BAPI_MARA-PL_REF_MAT. And you can pass reference material for all view like this.

  • How to create material(mm01)  through function module or bapi

    Hi,
        this is kiran iam sap fresher.

    Hi,
    try this
    *& Report ZKAR_MATMAS_BAPI
    *& This program demonstrates how easy it is to create Material master
    *& data using BAPI_MATERIAL_SAVEDATA
    *& The program also generates a report post-execution displaying errors
    *& as well as successful uploads
    REPORT ZKAR_MATMAS_BAPI.
    * TABLES
    * FLAGS *
    DATA: F_STOP. " Flag used to stop processing
    * DATA DECLARATIONS *
    DATA : V_EMPTY TYPE I, " No. of empty records
    V_TOTAL TYPE I. " Total no. of records.
    * STRUCTURES & INTERNAL TABLES
    *BAPI structures
    DATA: BAPI_HEAD LIKE BAPIMATHEAD, " Header Segment with Control Information
    BAPI_MAKT LIKE BAPI_MAKT, " Material Description
    BAPI_MARA1 LIKE BAPI_MARA, " Client Data
    BAPI_MARAX LIKE BAPI_MARAX, " Checkbox Structure for BAPI_MARA
    BAPI_MARC1 LIKE BAPI_MARC, " Plant View
    BAPI_MARCX LIKE BAPI_MARCX, " Checkbox Structure for BAPI_MARC
    BAPI_MBEW1 LIKE BAPI_MBEW, " Accounting View
    BAPI_MBEWX LIKE BAPI_MBEWX, " Checkbox Structure for BAPI_MBEW
    BAPI_RETURN LIKE BAPIRET2. " Return Parameter
    *--- Internal table to hold excel file data
    DATA: IT_INTERN TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
    *--- Internal table to hold Matetrial descriptions
    DATA: BEGIN OF IT_MAKT OCCURS 100.
            INCLUDE STRUCTURE BAPI_MAKT.
    DATA: END OF IT_MAKT.
    *--- Internal to hold the records in the text file
    DATA : BEGIN OF IT_DATA OCCURS 100,
                WERKS(4), " Plant
                MTART(4), " Material type
                MATNR(18), " Material number
                MATKL(9) , " Material group
                MBRSH(1), " Industry sector
                MEINS(3), " Base unit of measure
                GEWEI(3), " Weight Unit
                SPART(2), " Division
                EKGRP(3), " Purchasing group
                VPRSV(1), " Price control indicator
                STPRS(12), " Standard price
                PEINH(3), " Price unit
                SPRAS(2), " Language key
                MAKTX(40), " Material description
                END OF IT_DATA.
    * SELECTION SCREEN. *
    SELECTION-SCREEN BEGIN OF BLOCK SCR1 WITH FRAME TITLE TEXT-111.
    PARAMETER : P_FILE TYPE RLGRAP-FILENAME OBLIGATORY DEFAULT " Input File
    'C:\Material_master.XLS'.
    PARAMETER : P_MAX(4) OBLIGATORY DEFAULT '100'. " no.of recs in a session
    PARAMETERS: P_HEADER TYPE I DEFAULT 0. " Header Lines
    PARAMETERS: P_BEGCOL TYPE I DEFAULT 1 NO-DISPLAY,
    P_BEGROW TYPE I DEFAULT 1 NO-DISPLAY,
    P_ENDCOL TYPE I DEFAULT 100 NO-DISPLAY,
    P_ENDROW TYPE I DEFAULT 32000 NO-DISPLAY.
    SELECTION-SCREEN END OF BLOCK SCR1.
    * AT SELECTION-SCREEN *
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
    *--- Validating file
      PERFORM VALIDATE_FILE USING P_FILE.
    * START-OF-SELECTION
    START-OF-SELECTION.
    *--- Perform to convert the Excel data into an internal table
      PERFORM CONVERT_XLS_ITAB.
      IF NOT IT_DATA[] IS INITIAL.
    *--- Perform to delete Header lines
        PERFORM DELETE_HEADER_EMPTY_RECS.
      ENDIF.
    * END OF SELECTION. *
    END-OF-SELECTION.
    *--- Perform to upload Material Master data
      PERFORM UPLOAD_MATMAS.
    * Form : validate_input_file
    * Description : To provide F4 help for file if read from PC
    FORM VALIDATE_FILE USING F_FILE TYPE RLGRAP-FILENAME.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        CHANGING
          FILE_NAME     = F_FILE
        EXCEPTIONS
          MASK_TOO_LONG = 1
          OTHERS        = 2.
      IF SY-SUBRC <> 0.
        MESSAGE S010(ZLKPL_MSGCLASS). " 'Error in getting filename'.
      ENDIF.
    ENDFORM. " validate_input_file
    *& Form CONVER_XLS_ITAB
    * text
    FORM CONVERT_XLS_ITAB.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          FILENAME    = P_FILE
          I_BEGIN_COL = P_BEGCOL
          I_BEGIN_ROW = P_BEGROW
          I_END_COL   = P_ENDCOL
          I_END_ROW   = P_ENDROW
        TABLES
          INTERN      = IT_INTERN.
      IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *--- Perform to move the data into an internal data
      PERFORM MOVE_DATA.
    ENDFORM. " CONVERT_XLS_ITAB
    *& Form MOVE_DATA
    * text
    FORM MOVE_DATA.
      DATA : LV_INDEX TYPE I.
      FIELD-SYMBOLS <FS>.
    *--- Sorting the internal table
      SORT IT_INTERN BY ROW COL.
      CLEAR IT_INTERN.
      LOOP AT IT_INTERN.
        MOVE IT_INTERN-COL TO LV_INDEX.
    *--- Assigning the each record to an internal table row
        ASSIGN COMPONENT LV_INDEX OF STRUCTURE IT_DATA TO <FS>.
    *--- Asigning the field value to a field symbol
        MOVE IT_INTERN-VALUE TO <FS>.
        AT END OF ROW.
          APPEND IT_DATA.
          CLEAR IT_DATA.
        ENDAT.
      ENDLOOP.
    ENDFORM. " MOVE_DATA
    *& Form DELETE_HEADER_EMPTY_RECS
    * To delete the Header and empty records
    FORM DELETE_HEADER_EMPTY_RECS.
      DATA: LV_TABIX LIKE SY-TABIX.
      IF NOT P_HEADER IS INITIAL.
        LOOP AT IT_DATA.
          IF P_HEADER > 0 AND NOT IT_DATA IS INITIAL.
            DELETE IT_DATA FROM 1 TO P_HEADER.
    * P_HEADER = 0.
            EXIT.
          ENDIF.
        ENDLOOP.
      ENDIF.
      CLEAR IT_DATA.
    *--- To delete the empty lines from internal table
      LOOP AT IT_DATA.
        LV_TABIX = SY-TABIX.
        IF IT_DATA IS INITIAL.
          V_EMPTY = V_EMPTY + 1.
          DELETE IT_DATA INDEX LV_TABIX..
        ENDIF.
      ENDLOOP.
      CLEAR IT_DATA.
    *--- Total no of recs in file
      DESCRIBE TABLE IT_DATA LINES V_TOTAL.
      IF V_TOTAL = 0.
        MESSAGE I013(ZLKPL_MSGCLASS). " No records in the file
        F_STOP = 'X'.
        STOP.
      ENDIF.
    ENDFORM. " DELETE_HEADER_EMPTY_RECS
    *& Form UPLOAD_MATMAS
    * to upload Material Master data
    FORM UPLOAD_MATMAS .
      LOOP AT IT_DATA.
    * Header
        UNPACK IT_DATA-MATNR TO IT_DATA-MATNR.
        BAPI_HEAD-MATERIAL = IT_DATA-MATNR.
        BAPI_HEAD-IND_SECTOR = IT_DATA-MBRSH.
        BAPI_HEAD-MATL_TYPE = IT_DATA-MTART.
        BAPI_HEAD-BASIC_VIEW = 'X'.
        BAPI_HEAD-PURCHASE_VIEW = 'X'.
        BAPI_HEAD-ACCOUNT_VIEW = 'X'.
    * Material Description
        REFRESH IT_MAKT.
        IT_MAKT-LANGU = IT_DATA-SPRAS.
        IT_MAKT-MATL_DESC = IT_DATA-MAKTX.
        APPEND IT_MAKT.
    * Client Data - Basic
        BAPI_MARA1-MATL_GROUP = IT_DATA-MATKL.
        BAPI_MARA1-BASE_UOM = IT_DATA-MEINS.
        BAPI_MARA1-UNIT_OF_WT = IT_DATA-GEWEI.
        BAPI_MARA1-DIVISION = IT_DATA-SPART.
        BAPI_MARAX-MATL_GROUP = 'X'.
        BAPI_MARAX-BASE_UOM = 'X'.
        BAPI_MARAX-UNIT_OF_WT = 'X'.
        BAPI_MARAX-DIVISION = 'X'.
    * Plant - Purchasing
        BAPI_MARC1-PLANT = IT_DATA-WERKS.
        BAPI_MARC1-PUR_GROUP = IT_DATA-EKGRP.
        BAPI_MARCX-PLANT = IT_DATA-WERKS.
        BAPI_MARCX-PUR_GROUP = 'X'.
    * Accounting
        BAPI_MBEW1-VAL_AREA = IT_DATA-WERKS.
        BAPI_MBEW1-PRICE_CTRL = IT_DATA-VPRSV.
        BAPI_MBEW1-STD_PRICE = IT_DATA-STPRS.
        BAPI_MBEW1-PRICE_UNIT = IT_DATA-PEINH.
        BAPI_MBEWX-VAL_AREA = IT_DATA-WERKS.
        BAPI_MBEWX-PRICE_CTRL = 'X'.
        BAPI_MBEWX-STD_PRICE = 'X'.
        BAPI_MBEWX-PRICE_UNIT = 'X'.
    *--- BAPI to create material
        CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
        EXPORTING
        HEADDATA = BAPI_HEAD
        CLIENTDATA = BAPI_MARA1
        CLIENTDATAX = BAPI_MARAX
        PLANTDATA = BAPI_MARC1
        PLANTDATAX = BAPI_MARCX
    * FORECASTPARAMETERS =
    * FORECASTPARAMETERSX =
    * PLANNINGDATA =
    * PLANNINGDATAX =
    * STORAGELOCATIONDATA =
    * STORAGELOCATIONDATAX =
    * VALUATIONDATA = BAPI_MBEW1
    * VALUATIONDATAX = BAPI_MBEWX
    * WAREHOUSENUMBERDATA =
    * WAREHOUSENUMBERDATAX =
    * SALESDATA = BAPI_MVKE1
    * SALESDATAX = BAPI_MVKEX
    * STORAGETYPEDATA =
    * STORAGETYPEDATAX =
        IMPORTING
        RETURN = BAPI_RETURN
        TABLES
        MATERIALDESCRIPTION = IT_MAKT
    * UNITSOFMEASURE =
    * UNITSOFMEASUREX =
    * INTERNATIONALARTNOS =
    * MATERIALLONGTEXT =
    * TAXCLASSIFICATIONS =
    * RETURNMESSAGES =
    * PRTDATA =
    * PRTDATAX =
    * EXTENSIONIN =
    * EXTENSIONINX =
        IF BAPI_RETURN-TYPE = 'E'.
          WRITE:/ 'Error:' ,BAPI_RETURN-MESSAGE ,'for material:' ,IT_DATA-MATNR.
        ELSEIF BAPI_RETURN-TYPE = 'S'.
          WRITE: 'Successfully created material' ,IT_DATA-MATNR.
        ENDIF.
      ENDLOOP.
    ENDFORM. " UPLOAD_MATMAS

  • How to create material doc using bapi

    hi all,
    pls tell me how to create material doc using bapi ,
    if i give po no , it will create material doc no .
    advance thanks ,

    Hi venu,
    Please go thru this example, it will help u.
    REPORT ZBAPIMM01 LINE-SIZE 255 NO STANDARD PAGE HEADING
    LINE-COUNT 065(001).
    TABLES: T001L, "Storage Locations
    MARA, "General Material Data
    MAKT, "Material Descriptions
    MBEW, "Material Valuation
    MARC. "Plant Data for Material
    DATA: BAPI_HEAD LIKE BAPIMATHEAD,
    BAPI_MAKT LIKE BAPI_MAKT, "Material Description
    BAPI_MARA1 LIKE BAPI_MARA, "Client Data
    BAPI_MARAX LIKE BAPI_MARAX,
    BAPI_MARC1 LIKE BAPI_MARC, "Plant View
    BAPI_MARCX LIKE BAPI_MARCX,
    BAPI_MBEW1 LIKE BAPI_MBEW, "Accounting View
    BAPI_MBEWX LIKE BAPI_MBEWX,
    BAPI_RETURN LIKE BAPIRET2.
    DATA: BEGIN OF INT_MAKT OCCURS 100.
    INCLUDE STRUCTURE BAPI_MAKT.
    DATA: END OF INT_MAKT.
    DATA: BEGIN OF INT_MAT OCCURS 100,
    WERKS(4), "Plant
    MTART(4), "Material type
    MATNR(18), "Material number
    MATKL(9) , "Material group
    MBRSH(1), "Industry sector
    MEINS(3), "Base unit of measure
    GEWEI(3), "Weight Unit
    SPART(2), "Division
    EKGRP(3), "Purchasing group
    VPRSV(1), "Price control indicator
    STPRS(12), "Standard price
    PEINH(3), "Price unit
    SPRAS(2), "Language key
    MAKTX(40), "Material description
    END OF INT_MAT.
    SELECT-OPTIONS:
    PLANT FOR MARC-WERKS OBLIGATORY MEMORY ID PLT,
    MATERIAL FOR MARA-MATNR MEMORY ID MAT,
    MATLTYPE FOR MARA-MTART MEMORY ID MTY,
    DIVISION FOR MARA-SPART MEMORY ID DIV.
    PARAMETERS: F_FILE LIKE RLGRAP-FILENAME
    DEFAULT 'C:\DATA\ZMATERIAL.XLS' MEMORY ID F_FILE,
    GETDATA AS CHECKBOX, "Tick to download materials data to local harddisk
    UPDDATA AS CHECKBOX. "Tick to update date to Materials Master
    IF GETDATA = 'X'.
    PERFORM DOWNLOAD_DATA.
    PERFORM DOWNLOAD_FILE.
    ENDIF.
    IF UPDDATA = 'X'.
    PERFORM UPLOAD_FILE.
    PERFORM UPDATE_MM.
    ENDIF.
    FORM DOWNLOAD_DATA.
    SELECT * FROM MARC WHERE LVORM EQ ' '
    AND WERKS IN PLANT
    AND MATNR IN MATERIAL.
    CLEAR MARA.
    SELECT SINGLE * FROM MARA WHERE MATNR = MARC-MATNR.
    CHECK MATLTYPE.
    CHECK DIVISION.
    CLEAR MBEW.
    SELECT SINGLE * FROM MBEW WHERE MATNR = MARC-MATNR
    AND BWKEY = MARC-WERKS.
    CLEAR MAKT.
    SELECT SINGLE * FROM MAKT WHERE SPRAS = 'EN'
    AND MATNR = MARC-MATNR.
    WRITE:/ MARC-WERKS, "Plant
    MARA-MTART, "Material type
    MARA-MATNR, "Material number
    MARA-MATKL, "Material group
    MARA-MBRSH, "Industry sector
    MARA-MEINS, "Base unit of measure
    MARA-GEWEI, "Weight Unit
    MARA-SPART, "Division
    MARC-EKGRP, "Purchasing group
    MBEW-VPRSV, "Price control indicator
    MBEW-STPRS, "Standard price
    MBEW-PEINH, "Price unit
    MAKT-SPRAS, "Language key
    MAKT-MAKTX. "Material description
    INT_MAT-WERKS = MARC-WERKS. "Plant
    INT_MAT-MTART = MARA-MTART. "Material type
    INT_MAT-MATNR = MARA-MATNR. "Material number
    INT_MAT-MATKL = MARA-MATKL. "Material group
    INT_MAT-MBRSH = MARA-MBRSH. "Industry sector
    INT_MAT-MEINS = MARA-MEINS. "Base unit of measure
    INT_MAT-GEWEI = MARA-GEWEI. "Weight Unit
    INT_MAT-SPART = MARA-SPART. "Division
    INT_MAT-EKGRP = MARC-EKGRP. "Purchasing group
    INT_MAT-VPRSV = MBEW-VPRSV. "Price control indicator
    INT_MAT-STPRS = MBEW-STPRS. "Standard price
    INT_MAT-PEINH = MBEW-PEINH. "Price unit
    INT_MAT-SPRAS = MAKT-SPRAS. "Language key
    INT_MAT-MAKTX = MAKT-MAKTX. "Material description
    APPEND INT_MAT.
    CLEAR INT_MAT.
    ENDSELECT.
    ENDFORM.
    FORM DOWNLOAD_FILE.
    call function 'WS_DOWNLOAD'
    EXPORTING
    FILENAME = F_FILE
    FILETYPE = 'DAT'
    FILETYPE = 'WK1'
    tables
    data_tab = INT_MAT
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_WRITE_ERROR = 2
    INVALID_FILESIZE = 3
    INVALID_TYPE = 4
    NO_BATCH = 5
    UNKNOWN_ERROR = 6
    INVALID_TABLE_WIDTH = 7
    GUI_REFUSE_FILETRANSFER = 8
    CUSTOMER_ERROR = 9
    OTHERS = 10.
    IF SY-SUBRC = 0.
    FORMAT COLOR COL_GROUP.
    WRITE:/ 'Data Download Successfully to your local harddisk'.
    SKIP.
    ENDIF.
    ENDFORM.
    FORM UPLOAD_FILE.
    call function 'WS_UPLOAD'
    EXPORTING
    FILENAME = F_FILE
    FILETYPE = 'DAT'
    FILETYPE = 'WK1'
    tables
    data_tab = INT_MAT
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_WRITE_ERROR = 2
    INVALID_FILESIZE = 3
    INVALID_TYPE = 4
    NO_BATCH = 5
    UNKNOWN_ERROR = 6
    INVALID_TABLE_WIDTH = 7
    GUI_REFUSE_FILETRANSFER = 8
    CUSTOMER_ERROR = 9
    OTHERS = 10.
    IF SY-SUBRC = 0.
    FORMAT COLOR COL_GROUP.
    WRITE:/ 'Data Upload Successfully from your local harddisk'.
    SKIP.
    ENDIF.
    ENDFORM.
    FORM UPDATE_MM.
    LOOP AT INT_MAT.
    Header
    BAPI_HEAD-MATERIAL = INT_MAT-MATNR.
    BAPI_HEAD-IND_SECTOR = INT_MAT-MBRSH.
    BAPI_HEAD-MATL_TYPE = INT_MAT-MTART.
    BAPI_HEAD-BASIC_VIEW = 'X'.
    BAPI_HEAD-PURCHASE_VIEW = 'X'.
    BAPI_HEAD-ACCOUNT_VIEW = 'X'.
    Material Description
    REFRESH INT_MAKT.
    INT_MAKT-LANGU = INT_MAT-SPRAS.
    INT_MAKT-MATL_DESC = INT_MAT-MAKTX.
    APPEND INT_MAKT.
    Client Data - Basic
    BAPI_MARA1-MATL_GROUP = INT_MAT-MATKL.
    BAPI_MARA1-BASE_UOM = INT_MAT-MEINS.
    BAPI_MARA1-UNIT_OF_WT = INT_MAT-GEWEI.
    BAPI_MARA1-DIVISION = INT_MAT-SPART.
    BAPI_MARAX-MATL_GROUP = 'X'.
    BAPI_MARAX-BASE_UOM = 'X'.
    BAPI_MARAX-UNIT_OF_WT = 'X'.
    BAPI_MARAX-DIVISION = 'X'.
    Plant - Purchasing
    BAPI_MARC1-PLANT = INT_MAT-WERKS.
    BAPI_MARC1-PUR_GROUP = INT_MAT-EKGRP.
    BAPI_MARCX-PLANT = INT_MAT-WERKS.
    BAPI_MARCX-PUR_GROUP = 'X'.
    Accounting
    BAPI_MBEW1-VAL_AREA = INT_MAT-WERKS.
    BAPI_MBEW1-PRICE_CTRL = INT_MAT-VPRSV.
    BAPI_MBEW1-STD_PRICE = INT_MAT-STPRS.
    BAPI_MBEW1-PRICE_UNIT = INT_MAT-PEINH.
    BAPI_MBEWX-VAL_AREA = INT_MAT-WERKS.
    BAPI_MBEWX-PRICE_CTRL = 'X'.
    BAPI_MBEWX-STD_PRICE = 'X'.
    BAPI_MBEWX-PRICE_UNIT = 'X'.
    WRITE:/ BAPI_HEAD, BAPI_MARC1.
    call function 'BAPI_MATERIAL_SAVEDATA'
    exporting
    HEADDATA = BAPI_HEAD
    CLIENTDATA = BAPI_MARA1
    CLIENTDATAX = BAPI_MARAX
    PLANTDATA = BAPI_MARC1
    PLANTDATAX = BAPI_MARCX
    FORECASTPARAMETERS =
    FORECASTPARAMETERSX =
    PLANNINGDATA =
    PLANNINGDATAX =
    STORAGELOCATIONDATA =
    STORAGELOCATIONDATAX =
    VALUATIONDATA = BAPI_MBEW1
    VALUATIONDATAX = BAPI_MBEWX
    WAREHOUSENUMBERDATA =
    WAREHOUSENUMBERDATAX =
    SALESDATA = BAPI_MVKE1
    SALESDATAX = BAPI_MVKEX
    STORAGETYPEDATA =
    STORAGETYPEDATAX =
    IMPORTING
    RETURN = BAPI_RETURN
    TABLES
    MATERIALDESCRIPTION = INT_MAKT
    UNITSOFMEASURE =
    UNITSOFMEASUREX =
    INTERNATIONALARTNOS =
    MATERIALLONGTEXT =
    TAXCLASSIFICATIONS =
    RETURNMESSAGES =
    PRTDATA =
    PRTDATAX =
    EXTENSIONIN =
    EXTENSIONINX =
    IF BAPI_RETURN-TYPE = 'E'.
    WRITE:/ 'Error Message ', BAPI_RETURN.
    ENDIF.
    ENDLOOP.
    ENDFORM.
    *---End of Program
    Reagrds,
    Kumar

  • How to create material using BAPI  Methods?

    hi,
    how to create material master dat using BAPI?
    could u guide me
    i will be waiting for reply.
    REGARDS
    ESWAR.

    Hi eswar,
    Try this code to create gods mmovement...
    DATA: GOODSMVT_HEADER LIKE BAPI2017_GM_HEAD_01,
          " Material Document Header Data
          GOODSMVT_CODE LIKE BAPI2017_GM_CODE,
          " Assign code to transaction for BAPI goods movement
          MATERIALDOCUMENT LIKE BAPI2017_GM_HEAD_RET-MAT_DOC,
          " Number of Material Document
          GOODSMVT_ITEM LIKE BAPI2017_GM_ITEM_CREATE OCCURS 0 WITH HEADER
          LINE,
          " Create Material Document Item
          RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE
          " Return table for messages
    *Fill values in header
    GOODSMVT_HEADER-PSTNG_DATE = '20030825'.
    GOODSMVT_HEADER-DOC_DATE = '20030802'.
    *Fill GOODSMVT_CODE
    GOODSMVT_CODE-GM_CODE = '05' .
    *Fill Item Table
    GOODSMVT_ITEM-MATERIAL = '100-100'.
    GOODSMVT_ITEM-PLANT = '1000'.
    GOODSMVT_ITEM-STGE_LOC = '0001'.
    GOODSMVT_ITEM-MOVE_TYPE = '501'.
    GOODSMVT_ITEM-ENTRY_QNT = '50'.
    GOODSMVT_ITEM-ITEM_TEXT = 'Test Sanket'.
    *GOODSMVT_ITEM-COSTCENTER = '1000'.
    APPEND GOODSMVT_ITEM.
    *Create Good's movement
    CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
      EXPORTING
        GOODSMVT_HEADER  = GOODSMVT_HEADER
        GOODSMVT_CODE    = GOODSMVT_CODE
      IMPORTING
        MATERIALDOCUMENT = MATERIALDOCUMENT
      TABLES
        GOODSMVT_ITEM    = GOODSMVT_ITEM
        RETURN           = RETURN.
    *Commit BAPI
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.
    *Display Goods movement number
    FORMAT COLOR 6 INVERSE ON.
    READ TABLE RETURN WITH KEY TYPE = 'E'.
    IF SY-SUBRC = 0.
      WRITE: /,'ERROR! Goods movement not created'.
    ELSE.
      WRITE: /,'Goods movent number',MATERIALDOCUMENT COLOR 5,
               'posted for material',GOODSMVT_ITEM-MATERIAL.
    ENDIF.
    FORMAT COLOR OFF INVERSE OFF.
    try this on report program and create a goods movement.
    Sanket.

  • Create Material Master Data with BAPI

    Hi,
    I don't know using of BAPI. I want using BAPI_MATERIAL_SAVEDATA bapi for creating material master data for Basic Data1, Basic Data2, Purchasing and MRP views. Does anybody can help me ?
    Thank you
    Good night

    Hi,
    Please refer to the documentation below:
    BAPI_MATERIAL_SAVEDATA
    Short Text
    Create and Change Article Master Data
    Functionality
    You use this method to create new material master data or to change existing material master data. The data on a material can be transferred for each call.
    When creating material master data, you must transfer the material number, the material type, and the industry sector to the method. You must also enter a material description and its language.
    When changing material master data, you need enter only the material number.
    In the header data, you must select at least one view for which data is to be created. Depending on the view selected, you must maintain other required parameters. If you do not enter values for all of the required parameters, the method is ended with an error message.
    The corresponding fields in the tables (such as CLIENTDATA) must first be supplied with data by the calling program. An indicator must also be set for each of these fields so that the data is written to the database by the method. This requires the calling program to supply the corresponding field with the indicator in a checkbox table (for example, CLIENTDATAX). Checkbox tables exist for tables that do not contain any language-dependent texts (MAKT, MLTX), International Article Numbers (MEAN), or tax classifications (MLAN). Several data records for a material can be created in these tables.
    If a structure contains fields for units of measurement (such as structure CLIENTDATA, field BASE_UOM), language indicators (such as structure MATERIALDESCRIPTION, field LANGU), or country indicators (such as structure TAXCLASSIFICATIONS, field DEPCOUNTRY), there is always a field of the same name with the ending _ISO. This makes it possible to transfer either the internally used SAP code or a standardized ISO code for the units of measurement, language indicators, or country indicators. ISO codes are converted to an SAP code internally for further processing. The ISO code is used only if the SAP code is not transferred. If you use ISO codes, there must be a unique assignment of the ISO code to the SAP code in the following activities in Customizing for Global Parameters:
    Check Units of Measurement
    Define Countries
    If you want to maintain long texts (basic data texts, internal comments, purchase order texts, material memos, or sales texts) or customer-defined fields for a material, some special conditions have to be observed. They are described in the documentation for parameters MATERIALLONGTEXT and EXTENSIONIN.
    Parameters
    HEADDATA
    CLIENTDATA
    CLIENTDATAX
    PLANTDATA
    PLANTDATAX
    FORECASTPARAMETERS
    FORECASTPARAMETERSX
    PLANNINGDATA
    PLANNINGDATAX
    STORAGELOCATIONDATA
    STORAGELOCATIONDATAX
    VALUATIONDATA
    VALUATIONDATAX
    WAREHOUSENUMBERDATA
    WAREHOUSENUMBERDATAX
    SALESDATA
    SALESDATAX
    STORAGETYPEDATA
    STORAGETYPEDATAX
    FLAG_ONLINE
    FLAG_CAD_CALL
    NO_DEQUEUE
    NO_ROLLBACK_WORK
    RETURN
    MATERIALDESCRIPTION
    UNITSOFMEASURE
    UNITSOFMEASUREX
    INTERNATIONALARTNOS
    MATERIALLONGTEXT
    TAXCLASSIFICATIONS
    RETURNMESSAGES
    PRTDATA
    PRTDATAX
    EXTENSIONIN
    EXTENSIONINX
    Exceptions
    Function Group
    1001UEB
    Thanks,
    Sandeep.

  • Create material using bapi ' bapi_material_savedata'

    Hi Experts,
    i was tring to create material using bapi ' bapi_material_savedata' but the material is not updating in the table.
    please find the code and suggest me if any modification
    data: la_headdata type BAPIMATHEAD,
    la_clientdata type BAPI_MARA,
    la_CLIENTDATAX type BAPI_MARAX,
    la_return type BAPIRET2.
    data: i_materialdescription type table of BAPI_MAKT,
    wa_materialdescription like line of i_materialdescription.
    *la_headdata-MATERIAL = int_matnum-MATERIAL.
    *LOOP AT int_matnum.
    la_headdata-MATERIAL = int_matnum-MATERIAL.
    write : int_matnum-material.
    *ENDLOOP.
    la_headdata-MATERIAL = '100000518'."int_matnum-MATERIAL.
    la_headdata-IND_SECTOR = p_indsr.
    la_headdata-MATL_TYPE = p_matype.
    la_clientdata-BASE_UOM = 'FT3'.
    la_clientdata-pur_valkey = ' '.
    la_CLIENTDATAX-BASE_UOM = 'X'.
    la_clientdata-MATL_GROUP = '01'.
    la_CLIENTDATAX-MATL_GROUP = 'X'.
    wa_materialdescription = 'TEST'.
    append wa_materialdescription to i_materialdescription.
    clear: wa_materialdescription.
    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
    EXPORTING
    headdata = la_headdata
    CLIENTDATA = la_clientdata
    CLIENTDATAX = la_CLIENTDATAX
    PLANTDATA =
    PLANTDATAX =
    FORECASTPARAMETERS =
    FORECASTPARAMETERSX =
    PLANNINGDATA =
    PLANNINGDATAX =
    STORAGELOCATIONDATA =
    STORAGELOCATIONDATAX =
    VALUATIONDATA =
    VALUATIONDATAX =
    WAREHOUSENUMBERDATA =
    WAREHOUSENUMBERDATAX =
    SALESDATA =
    SALESDATAX =
    STORAGETYPEDATA =
    STORAGETYPEDATAX =
    FLAG_ONLINE = ' '
    FLAG_CAD_CALL = ' '
    IMPORTING
    RETURN = la_return
    TABLES
    MATERIALDESCRIPTION = i_materialdescription
    UNITSOFMEASURE =
    UNITSOFMEASUREX =
    INTERNATIONALARTNOS =
    MATERIALLONGTEXT =
    TAXCLASSIFICATIONS =
    RETURNMESSAGES =
    PRTDATA =
    PRTDATAX =
    EXTENSIONIN =
    EXTENSIONINX =
    Please Help me
    Regards,
    Naresh

    Hi all,
    Now it is asking me for the other fields,
    E ,
    The field MARA-XCHPF/BAPI_MARA-BATCH_MGMT is defined as a required field; it does not contain an entry
    i have passed this val as
    la_clientdata-batch_mgmt = 'X'.
    even though i am getting the same error.
    can you help me to solve the issue.
    Tthanks
    Naresh
    Edited by: naresh.k.dasari on Jan 4, 2011 10:36 AM

  • BAPI for create material master (SAP version 40b)

    Hi,
    Anyone know BAPI for create material master for SAP version 40b?
    There's no BAPI_MATERIAL_SAVEDATA.
    I try to use BAPI_MATERIAL_MAINTAINDATA_RT,
    but seems that BAPI only for retail.
    Kindly advice!
    Thanks,
    Victor.

    Hi,
        this one works pretty good.
    call function 'MATERIAL_MAINTAIN_DARK'
             exporting
                  sperrmodus                = ' '
                  kz_prf                    = 'W'
                  max_errors                = ' '
                  p_kz_no_warn              = 'X'
                  kz_verw                   = 'X'
                  kz_aend                   = 'X'
                  kz_dispo                  = 'X'
                  kz_test                   = ' '
                  flag_muss_pruefen         = ' '
                  call_mode                 = 'ACT'
             importing
                  number_errors_transaction = numerror
                  matnr_last     = last_matnr
             tables
                 amara_ueb      = i_mara    "Basic Data
                amakt_ueb      = i_makt    "Descriptions
                 amarc_ueb      = i_marc    "Plant
                amard_ueb      = i_mard    "Storage Location
               AMFHM_UEB      = I_MFHM    "Production Tools
                amarm_ueb      = i_marm    "Units of Measure
               AMEA1_UEB      = I_MEA1    "Internal Mangagement -  EANs
                ambew_ueb      = i_mbew    "Accounting/Costing
                asteu_ueb      = i_steu    "Tax Data
                astmm_ueb      = i_steumm  "Tax Data
               AMLGN_UEB      = I_MLGN    "Warehouse Data
               AMLGT_UEB      = I_MLGT    "Storage Type Data
               AMPGD_UEB      = I_MPGD    "Change Documents
               AMPOP_UEB      = I_MPOP    "Forcast Parameters
               AMVEG_UEB      = I_MVEG    "Total Consumption Data
               AMVEU_UEB      = I_MVEU    "Unplanned Consumption Data
                amvke_ueb      = i_mvke    "Sales Data
                altx1_ueb      = i_ltx1    "Sales Text
               AMPRW_UEB      = I_MPRW    "Forcast Values
                 amfieldres     = i_delfields
                 amerrdat       = i_errors
             exceptions
                  kstatus_empty             = 01
                  tkstatus_empty            = 02
                  t130m_error               = 03
                  internal_error            = 04
                  update_error              = 05
                  too_many_errors           = 06.
    Otherwise try BAPI_RETAILMATERIAL_CREATE
    BAPI_STANDARDMATERIAL_CREATE
    <b>Reward points</b>
    Regards

Maybe you are looking for