‎2007 May 25 7:39 AM
hi all,
i am using bapi
BAPI_MATERIAL_SAVEDATA to create a material.
how could i know that which fields are mandatory in this bapi to create
a material.
in which fields or parameters i should pass data to create a material.
thanks
sanjeev
‎2007 May 25 7:41 AM
Hi
See the sample code and do it accordingly
REPORT z34332_bdc_create_material .
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 = '000000000000000004'.
la_headdata-IND_SECTOR = 'M'.
la_headdata-MATL_TYPE = 'FERT'.
la_clientdata-BASE_UOM = 'FT3'.
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 =
.
write: la_return-TYPE, ',', la_return-MESSAGE.
clear: la_headdata, la_return, la_clientdata, la_clientdatax.
Reward points if useful
Regards
Anji
‎2007 May 25 7:43 AM
i_bapi_mara-base_uom = base_uom.
i_bapi_mara-base_uom_iso = base_uom.
i_bapi_marax-base_uom_iso = 'X'.
i_bapi_mara-matl_group = matgroup.
i_bapi_marax-matl_group = 'X'.
i_bapi_mara-mfr_no = mfr_no.
i_bapi_marax-mfr_no = 'X'.
i_bapi_mlan-taxclass_1 = txcls .
i_bapi_mvke-sales_org = salesorg.
i_bapi_mvkex-sales_org = salesorg.
i_bapi_mvke-distr_chan = distchn.
i_bapi_mvkex-distr_chan = distchn.
i_bapi_marc-plant = plnt.
i_bapi_marcx-plant = plnt.
i_bapi_mlan-taxclass_1 = txcls.
i_bapi_mvke-matl_stats = mtstgrp.
i_bapi_mvkex-matl_stats = 'X'.
i_bapi_mbew-val_class = valclass.
i_bapi_mbewx-val_class = 'X'.
i_bapi_mbew-val_area = plnt.
i_bapi_mbewx-val_area = plnt.
i_bapi_mvke-item_cat = itcatgrp.
i_bapi_mvkex-item_cat = 'X'.
i_bapi_marc-availcheck = grpavbl.
i_bapi_marcx-availcheck = 'X'.
i_bapimathead-ind_sector = 'M'.
i_bapimathead-matl_type = mattyp.
i_bapimathead-basic_view = 'X'.
i_bapimathead-sales_view = 'X'.
i_bapimathead-account_view = 'X'.
i_bapimathead-PURCHASE_VIEW = 'X'.
i_bapi_mlan-depcountry = 'US'.
i_bapi_mlan-tax_type_1 = 'UTXJ'.
APPEND i_bapi_mlan.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = i_bapimathead
clientdata = i_bapi_mara
clientdatax = i_bapi_marax
plantdata = i_bapi_marc
plantdatax = i_bapi_marcx
VALUATIONDATA = i_bapi_mbew
VALUATIONDATAX = i_bapi_mbewx
salesdata = i_bapi_mvke
salesdatax = i_bapi_mvkex
IMPORTING
return = l_tab_bapiret2
TABLES
materialdescription = i_bapi_makt
taxclassifications = i_bapi_mlan.
thx
pavan
**pls reward for helpful answers
‎2007 May 25 7:44 AM
Hi,
U can get it using Test Data.
Goto SE37 ->Give FM Name ->Execute it -> Click 'Test Data Directory' -> Double Click on any Record.
Regards,
Padmam.
‎2007 May 25 7:46 AM
Hi,
Check the code below:
FORM f_update_mara TABLES pct_gt_final STRUCTURE gs_final
pct_gt_final1 structure gs_final1.
*mara table update
pct_gt_final1[] = pct_gt_final[].
delete pct_gt_final1 where splitting_criteria NE ' '.
DATA: gs_header TYPE bapimathead,
gs_client TYPE bapi_mara,
gs_clientx TYPE bapi_marax,
gs_return TYPE bapiret2,
gs_extensionin TYPE bapiparex,
gs_extensioninx TYPE bapiparexx,
gt_extensionin TYPE STANDARD TABLE OF bapiparex,
gt_extensioninx TYPE STANDARD TABLE OF bapiparexx.
LOOP AT pct_gt_final1 INTO gs_final1.
gs_header-material = gs_final1-matnr .
gs_extensionin-structure = 'BAPI_TE_MARA'.
gs_extensionin-valuepart1+0(18) = gs_final1-matnr .
gs_extensionin-valuepart1+19(20) = gs_final1-splitting_criteria .
APPEND gs_extensionin TO gt_extensionin.
gs_extensioninx-structure = 'BAPI_TE_MARAX'.
gs_extensioninx-valuepart1+0(18) = gs_final1-matnr .
gs_extensioninx-valuepart1+19(20) = gc_x.
APPEND gs_extensioninx TO gt_extensioninx.
*save mat.master data
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = gs_header
IMPORTING
return = gs_return
TABLES
extensionin = gt_extensionin
extensioninx = gt_extensioninx.
IF gs_return-type EQ gc_e OR gs_return-type EQ gc_a.
ROLLBACK WORK.
MESSAGE e001. "Inserted MOD-002
ELSE.
COMMIT WORK.
ENDIF.
CLEAR gs_extensionin.
CLEAR gs_extensioninx.
FREE gt_extensionin.
FREE gt_extensioninx.
ENDLOOP.
ENDFORM. " F_UPDATE_MARA
Regards
Kannaiah