Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Bapi for material creation

Former Member
0 Likes
13,172

Hi,

I want to create material in MM01. i am Using Bapi BAPI_MATERIAL_SAVEDATA.

in my case i will populate all details required to create material ( basic data) except material number.

material number is internally generated in my case.

wen i try to create through bapi using test mode its asking material number to fill.is there any option for this ?

Thanks in Advance.

5 REPLIES 5
Read only

Former Member
0 Likes
9,200

Check the BAPI documentation for this.

<<removed_by_moderator>>

Note:

Don't copy paste Function module documentation here, Just ask the user to refer the Documentation.

Edited by: Vijay Babu Dudla on Apr 28, 2009 10:04 AM

Read only

Former Member
0 Likes
9,200
REPORT  Ztests. 

*---tables used
tables:bapimathead,
       bapi_makt,
       bapi_mara,
       bapi_marax. 

*--declaration for internal table 

data:begin of itab occurs 0,
      MATERIAL type BAPIMATHEAD-MATERIAL,
      IND_SECTOR(20),
      MATL_TYPE type bapimathead-MATL_TYPE,
      MATL_GROUP type bapi_mara-MATL_GROUP,
      LANGU TYPE BAPI_MAKT-LANGU,
      MATL_DESC TYPE BAPI_MAKT-MATL_DESC,
     end of itab, 

    it_return like BAPIRET2, 

    IT_BAPI LIKE BAPI_MAKT OCCURS 0 WITH HEADER LINE. 

*---selection screen
parameters:p_file TYPE IBIPPARMS-PATH obligatory. 

*---f4 help for the file from PC
at selection-screen on value-request for p_file. 

perform get_f4help. 

*--start-of-selection .
start-of-selection. 

perform upload_file_itab. 

perform call_bapi. 

*&---------------------------------------------------------------------*
*&      Form  get_f4help
*&---------------------------------------------------------------------*
form get_f4help . 

CALL FUNCTION 'F4_FILENAME'
 EXPORTING
   PROGRAM_NAME        = SYST-CPROG
   DYNPRO_NUMBER       = SYST-DYNNR
 IMPORTING
   FILE_NAME           = P_FILE  . 

endform.                    " get_f4help
*&---------------------------------------------------------------------*
*&      Form  upload_file_itab
*&---------------------------------------------------------------------* 

form upload_file_itab . 

DATA:V_FILE TYPE STRING.
MOVE P_FILE TO V_FILE. 

CALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
   filename                      = V_FILE
   FILETYPE                      = 'ASC'
   HAS_FIELD_SEPARATOR           = 'X'
  TABLES
    data_tab                      = ITAB . 

endform.                    " upload_file_itab
*&---------------------------------------------------------------------*
*&      Form  call_bapi
*&---------------------------------------------------------------------* 

form call_bapi . 

loop at itab. 

BAPIMATHEAD-material = itab-MATERIAL.
bapimathead-IND_SECTOR = itab-IND_SECTOR.
BAPIMATHEAD-MATL_TYPE = itab-MATL_TYPE.
BAPIMATHEAD-BASIC_VIEW = 'X'. 

bapi_mara-MATL_GROUP = itab-MATL_GROUP.
bapi_mara-base_uom = 'KGS'.
bapi_marax-MATL_GROUP = 'X'.
bapi_marax-BASE_UOM = 'X'. 

IT_BAPI-LANGU = ITAB-LANGU.
IT_BAPI-LANGU_ISO = 'EN'.
IT_BAPI-MATL_DESC = ITAB-MATL_DESC.
APPEND IT_BAPI.
clear it_bapi. 

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
  EXPORTING
    headdata                  = BAPIMATHEAD
   CLIENTDATA                 = bapi_mara
   CLIENTDATAX                = bapi_marax
   IMPORTING
   RETURN                     = it_RETURN
 TABLES
   MATERIALDESCRIPTION        = IT_BAPI . 

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'  . 

*---this is the message type which indicates whether it is failed or succeded
write:/ it_return-TYPE. 

endloop. 

endform.                    " call_bapi

Here is the test file used for creating the materials in the above program: 

000000000011111111     T          RFRM   001       EN        this is test material

000000000011111112     T          RFRM   001       EN        this is test material

000000000011111113     T          RFRM   001       EN        this is test material

000000000011111114     T          RFRM   001       EN        this is test material

000000000011111115     T          RFRM   001       EN        this is test material

000000000011111116     T          RFRM   001       EN        this is test material

000000000011111117     T          RFRM   001       EN        this is test material
Read only

Former Member
0 Likes
9,200

hey this is a functional problem

ask your functional guy to check for that

cheers

s.janagar

Read only

Former Member
0 Likes
9,200

Hi,

Use this bapi, it completly replicates the MM01 functionality and new material number was given as output parameter by the end of the execution.

BAPI_STANDARDMATERIAL_CREATE

I hope , this will matches your reuirement.

by

Prasad gvk.

Read only

Former Member
0 Likes
9,200

Hi,

You have choosen the correct BAPI, BAPI_MATERIAL_SAVEDATA

just check out for documentation

Tks,

Krishna..