Skip to Content
0
Former Member
Dec 02, 2006 at 09:52 AM

BAPI_MATERIAL_SAVEDATA

395 Views

hello gurus,

Below s the sample code where i am using for material master updation

i am updating client data & plant data

when i put alone client data it s getting updated

but whne i include plant data

it executes but material is not getting created

i dont know what i am missing

please correct me the below code

DATA: headdata TYPE bapimathead.

DATA: clientdata TYPE bapi_mara.

DATA: clientdatax TYPE bapi_marax.

DATA: plantdata TYPE bapi_marc.

DATA: plantdatax TYPE bapi_marcx.

DATA: descdata TYPE TABLE OF bapi_makt WITH HEADER LINE.

DATA: return TYPE TABLE OF bapiret2 WITH HEADER LINE.

DATA: returnm TYPE TABLE OF bapi_matreturn2 WITH HEADER LINE.

DATA: imat TYPE TABLE OF bapimatinr WITH HEADER LINE.

CALL FUNCTION 'BAPI_MATERIAL_GETINTNUMBER'

EXPORTING

material_type = 'ZMED'

  • INDUSTRY_SECTOR = 'M'

TABLES

material_number = imat.

READ TABLE imat INDEX 1.

IF sy-subrc = 0.

headdata-material = imat-material.

ENDIF.

headdata-ind_sector = 'Z'.

headdata-matl_type = 'ZMED'.

headdata-basic_view = 'X'.

headdata-purchase_view = 'X'.

clientdata-base_uom = meins.

clientdatax-base_uom = 'X'.

clientdata-old_mat_no = bismt.

clientdatax-old_mat_no = 'X'.

clientdata-matl_group = matkl.

clientdatax-matl_group = 'X'.

clientdata-document = zeinr.

clientdatax-document = 'X'.

clientdata-size_dim = groes.

clientdatax-size_dim = 'X'.

clientdata-std_descr = normt.

clientdatax-std_descr = 'X'.

clientdata-basic_matl = wrkst.

clientdatax-basic_matl = 'X'.

clientdata-del_flag = lvorm.

clientdatax-del_flag = 'X'.

plantdata-plant = werks.

plantdatax-plant = 'X'.

plantdata-pur_group = ekgrp.

plantdatax-pur_group = 'X'.

plantdata-auto_p_ord = kautb.

plantdatax-auto_p_ord = 'X'.

descdata-langu = sy-langu.

descdata-matl_desc = maktx.

APPEND descdata.

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

EXPORTING

headdata = headdata

clientdata = clientdata

clientdatax = clientdatax

<b> plantdata = plantdata

plantdatax = plantdatax</b> ( when i include material is not updated)

  • FORECASTPARAMETERS =

  • FORECASTPARAMETERSX =

  • PLANNINGDATA =

  • PLANNINGDATAX =

  • STORAGELOCATIONDATA =

  • STORAGELOCATIONDATAX =

  • VALUATIONDATA =

  • VALUATIONDATAX =

  • WAREHOUSENUMBERDATA =

  • WAREHOUSENUMBERDATAX =

  • SALESDATA =

  • SALESDATAX =

  • STORAGETYPEDATA =

  • STORAGETYPEDATAX =

IMPORTING

return = return

TABLES

materialdescription = descdata

  • UNITSOFMEASURE =

  • UNITSOFMEASUREX =

  • INTERNATIONALARTNOS =

  • MATERIALLONGTEXT =

  • TAXCLASSIFICATIONS =

returnmessages = returnm

  • PRTDATA =

  • PRTDATAX =

  • EXTENSIONIN =

  • EXTENSIONINX =

.

CHECK sy-subrc = 0.

IF sy-subrc EQ 0.

return-number = 0.

return-type = 'S'.

return-id = 'Z1'.

return-message = 'Successfully updated'.

return-message_v1 = ''.

return-message_v2 = ''.

return-message_v3 = ''.

return-message_v4 = sy-mandt.

ELSE.

return-number = 0.

return-type = 'E'.

return-id = 'Z1'.

return-message = 'Not updated'.

return-message_v1 = ''.

return-message_v2 = ''.

return-message_v3 = ''.

return-message_v4 = sy-mandt.

ENDIF.

thanx n advance

senthil