‎2008 Jan 30 6:28 AM
can anyone send me a zprogram which uses a
bapi to create\update material master data .
thanks ,
Amit
‎2008 Feb 04 2:06 PM
hi,
here below a code sample that will help you
...
FORM execution .
DATA: is_headdata TYPE bapimathead.
DATA: is_clientdata TYPE bapi_mara.
DATA: is_clientdatax TYPE bapi_marax.
DATA: is_plantdata TYPE bapi_marc.
DATA: is_plantdatax TYPE bapi_marcx.
DATA: is_valuationdata TYPE bapi_mbew.
DATA: is_valuationdatax TYPE bapi_mbewx.
DATA: it_materialdescription TYPE bapi_makt OCCURS 0 WITH HEADER LINE.
DATA : is_storagelocationdata TYPE bapi_mard,
is_storagelocationdatax TYPE bapi_mardx.
*... views
is_headdata-material = mara-matnr.
is_headdata-ind_sector = 'M'.
is_headdata-matl_type = 'ROH'.
is_headdata-basic_view = 'X'.
is_headdata-purchase_view = 'X'.
is_headdata-mrp_view = 'X'.
is_headdata-account_view = 'X'.
is_headdata-cost_view = 'X'.
is_headdata-storage_view = 'X'.
*... constants
is_clientdata-pur_valkey = '3'.
is_clientdatax-pur_valkey = 'X'.
*... Données article générales (de l'écran)
is_clientdata-base_uom = mara-meins.
is_clientdata-matl_group = mara-matkl.
is_clientdata-mfr_no = mara-mfrnr.
is_clientdata-manu_mat = mara-mfrpn.
is_clientdata-pur_status = mara-mstae.
is_clientdata-old_mat_no = mara-bismt.
is_clientdatax-base_uom = 'X'.
is_clientdatax-matl_group = 'X'.
is_clientdatax-mfr_no = 'X'.
is_clientdatax-manu_mat = 'X'.
is_clientdatax-pur_status = 'X'.
is_clientdatax-old_mat_no = 'X'.
*... Description
it_materialdescription-langu = sy-langu.
it_materialdescription-matl_desc = makt-maktx.
APPEND it_materialdescription.
is_plantdata-sm_key = '000'.
is_plantdata-dep_req_id = '2'.
is_plantdata-availcheck = '02'.
is_plantdata-auto_p_ord = 'X'.
is_plantdatax-sm_key = 'X'.
is_plantdatax-dep_req_id = 'X'.
is_plantdatax-availcheck = 'X'.
is_plantdatax-auto_p_ord = 'X'.
is_plantdata-pur_status = mara-mstae.
is_plantdatax-pur_status = 'X'.
is_plantdata-profit_ctr = '100012'.
is_plantdata-proc_type = 'F'.
is_plantdata-determ_grp = 'Z001'.
is_plantdata-deploy_horiz = '000'.
is_plantdatax-proc_type = 'X'.
is_plantdatax-determ_grp = 'X'.
is_plantdatax-deploy_horiz = 'X'.
*... Plant data
is_plantdata-plant = marc-werks.
is_plantdata-pur_group = marc-ekgrp.
is_plantdata-abc_id = marc-maabc.
is_plantdata-mrp_type = marc-dismm.
is_plantdata-plnd_delry = marc-plifz.
is_plantdata-lotsizekey = marc-disls.
is_plantdata-safety_stk = marc-eisbe.
is_plantdata-mrp_ctrler = marc-dispo.
is_plantdata-iss_st_loc = marc-lgpro.
is_plantdata-sloc_exprc = marc-lgfsb.
is_plantdata-round_prof = marc-rdprf.
is_plantdatax-plant = marc-werks.
is_plantdatax-pur_group = 'X'.
is_plantdatax-abc_id = 'X'.
is_plantdatax-mrp_type = 'X'.
is_plantdatax-plnd_delry = 'X'.
is_plantdatax-lotsizekey = 'X'.
is_plantdatax-safety_stk = 'X'.
is_plantdatax-mrp_ctrler = 'X'.
is_plantdatax-iss_st_loc = 'X'.
is_plantdatax-sloc_exprc = 'X'.
is_plantdatax-round_prof = 'X'.
*... Valuation
is_valuationdata-val_area = marc-werks.
is_valuationdatax-val_area = marc-werks.
is_valuationdata-price_ctrl = 'V'.
is_valuationdata-price_unit = '1'.
is_valuationdata-val_class = '3000'.
is_valuationdata-qty_struct = 'X'.
is_valuationdata-orig_mat = 'X'.
is_valuationdata-price_unit = mbew-peinh.
is_plantdata-lot_size = mbew-peinh.
is_valuationdatax-price_ctrl = 'X'.
is_valuationdatax-price_unit = 'X'.
is_valuationdatax-val_class = 'X'.
is_valuationdatax-qty_struct = 'X'.
is_valuationdatax-orig_mat = 'X'.
is_valuationdatax-price_unit = 'X'.
is_plantdatax-lot_size = 'X'.
Storage
IF NOT marc-lgpro IS INITIAL.
is_storagelocationdata-plant = marc-werks.
is_storagelocationdata-stge_loc = marc-lgpro.
is_storagelocationdata-stge_bin = mard-lgpbe.
is_storagelocationdatax-plant = is_storagelocationdata-plant.
is_storagelocationdatax-stge_loc = is_storagelocationdata-stge_loc.
is_storagelocationdatax-stge_bin = 'X'.
ENDIF.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = is_headdata
clientdata = is_clientdata
clientdatax = is_clientdatax
plantdata = is_plantdata
plantdatax = is_plantdatax
FORECASTPARAMETERS =
FORECASTPARAMETERSX =
PLANNINGDATA =
PLANNINGDATAX =
storagelocationdata = is_storagelocationdata
storagelocationdatax = is_storagelocationdatax
valuationdata = is_valuationdata
valuationdatax = is_valuationdatax
WAREHOUSENUMBERDATA =
WAREHOUSENUMBERDATAX =
SALESDATA =
SALESDATAX =
STORAGETYPEDATA =
STORAGETYPEDATAX =
FLAG_ONLINE = ' '
FLAG_CAD_CALL = ' '
IMPORTING
return = return
TABLES
materialdescription = it_materialdescription
UNITSOFMEASURE =
UNITSOFMEASUREX =
INTERNATIONALARTNOS =
MATERIALLONGTEXT =
TAXCLASSIFICATIONS =
returnmessages = it_returnmessages
PRTDATA =
PRTDATAX =
EXTENSIONIN =
EXTENSIONINX =
.
...
endform.
Regards.
David
‎2008 Feb 04 2:13 PM
Hi,
Look at the example ocdes
You can also use the bapi BAPI_PO_CHANGE, Look at the example code
http://www.sap-img.com/abap/sample-abap-code-on-bapi-po-change.htm
Regards,
Satish