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_material_savedata

Former Member
0 Likes
813

Hi,

I am working on a module pool program.In the o/p screen there are many records.If the user wants to change the field values of a particular record,he clicks on the checkbox besides that record and when he click on the change button,control goes to update screen.In this screen when the user changes the value of one particular field and click on the checkbox beside and then click on the execute button,the changed value of that field should get updated in that particular record in the database table.Here I want to update mvke and marc tables.

I have used FM BAPI_MATERIAL_SAVEDATA to update the database tables.

Only marc table is getting updated with changed values.mvke table is not getting updated.What would be the reason for this.

I am sending a part of my code.Please check it.

form move_mat_data .

*Header

gt_bapi_head-material = gs_output1-matnr.

gt_bapi_head-ind_sector = gs_output1-mbrsh.

gt_bapi_head-matl_type = gs_output1-mtart.

gt_bapi_head-basic_view = 'X'.

gt_bapi_head-purchase_view = 'X'.

gt_bapi_head-account_view = 'X'.

gt_bapi_head-sales_view = 'X'.

*Client

gt_bapi_client-matl_group = gs_output1-matkl.

gt_bapi_client-base_uom = gs_output1-meins.

gt_bapi_clientx-matl_group = 'X'.

gt_bapi_clientx-base_uom = 'X'.

*Plant

gt_bapi_marc1-plant = gs_output1-werks.

gt_bapi_marc1-pur_status = gs_output1-mmsta.

gt_bapi_marc1-mrp_type = gs_output1-dismm.

gt_bapi_marc1-mrp_ctrler = gs_output1-dispo.

gt_bapi_marc1-serv_level = gs_output1-zserclass.

gt_bapi_marc1-availcheck = gs_output1-mtvfp.

gt_bapi_marcx-plant = gs_output1-werks .

gt_bapi_marcx-pur_status = 'X'.

gt_bapi_marcx-mrp_type = 'X'.

gt_bapi_marcx-mrp_ctrler = 'X'.

gt_bapi_marcx-serv_level = 'X'.

gt_bapi_marcx-availcheck = 'X'.

Material Description

REFRESH gt_materialdesc.

gt_materialdesc-langu = gs_output1-spras.

gt_materialdesc-matl_desc = gs_output1-maktx.

append gt_materialdesc.

*Sales

gt_bapi_mvke1-sales_org = gs_output1-vkorg.

gt_bapi_mvke1-distr_chan = gs_output1-vtweg.

gt_bapi_mvke1-sal_status = gs_output1-vmsta.

gt_bapi_mvke1-valid_from = gs_output1-vmstd.

gt_bapi_mvkex-sales_org = 'X'.

gt_bapi_mvkex-distr_chan = 'X'.

gt_bapi_mvkex-sal_status = 'X'.

gt_bapi_mvkex-valid_from = 'X'.

endform. " move_mat_data

2 REPLIES 2
Read only

Former Member
0 Likes
523

HI,

this is an example how it work.

  • Get material number

IF FT-FNAM = 'RM03M-MATNR'.

HEADDATA-MATERIAL = FT-FVAL.

ENDIF.

  • Get Industry Sector to material

IF FT-FNAM = 'RM03M-MBRSH'.

HEADDATA-IND_SECTOR = FT-FVAL. "

ENDIF. "

  • Get material type

IF FT-FNAM = 'RM03M-MTART'. "

HEADDATA-MATL_TYPE = FT-FVAL. "

HEADDATA-MRP_VIEW = 'X'. "

HEADDATA-WORK_SCHED_VIEW = 'X'. "

ENDIF. "

  • Get plant

IF FT-FNAM = 'RM03M-WERKS'. "

PLANTDATA-PLANT = FT-FVAL. "

PLANTDATAX-PLANT = FT-FVAL. "

ENDIF. "

  • Get material short text

IF FT-FNAM = 'MAKT-MAKTX'. "

MATERIALDESCRIPTION-MATL_DESC = FT-FVAL. "

MATERIALDESCRIPTION-LANGU = SY-LANGU. "

APPEND MATERIALDESCRIPTION. "

ENDIF. "

  • Get material unit

IF FT-FNAM = 'MARA-MEINS'. "

CLIENTDATA-BASE_UOM = VERB_MSTAMM-MEINS. "

CLIENTDATAX-BASE_UOM = 'X'. "

ENDIF. "

  • Get MRP type

IF FT-FNAM = 'MARC-DISMM'. "

PLANTDATA-MRP_TYPE = FT-FVAL. "

PLANTDATAX-MRP_TYPE = 'X'. "

ENDIF. "

  • Get check group for availability check

IF FT-FNAM = 'MARC-MTVFP'. "

PLANTDATA-AVAILCHECK = FT-FVAL. "

PLANTDATAX-AVAILCHECK = 'X'. "

ENDIF. "

regards

Nicole

Read only

Former Member
0 Likes
523

We have to populate the sales data to get MVKE tables updated

check the bold lines

Header

gt_bapi_head-material = gs_output1-matnr.

gt_bapi_head-ind_sector = gs_output1-mbrsh.

gt_bapi_head-matl_type = gs_output1-mtart.

gt_bapi_head-basic_view = 'X'.

gt_bapi_head-purchase_view = 'X'.

gt_bapi_head-account_view = 'X'.

gt_bapi_head-sales_view = 'X'. we have to populate the this structure

*Client

gt_bapi_client-matl_group = gs_output1-matkl.

gt_bapi_client-base_uom = gs_output1-meins.

gt_bapi_clientx-matl_group = 'X'.

gt_bapi_clientx-base_uom = 'X'.

*Plant

gt_bapi_marc1-plant = gs_output1-werks.

gt_bapi_marc1-pur_status = gs_output1-mmsta.

gt_bapi_marc1-mrp_type = gs_output1-dismm.

gt_bapi_marc1-mrp_ctrler = gs_output1-dispo.

gt_bapi_marc1-serv_level = gs_output1-zserclass.

gt_bapi_marc1-availcheck = gs_output1-mtvfp.

gt_bapi_marcx-plant = gs_output1-werks .

gt_bapi_marcx-pur_status = 'X'.

gt_bapi_marcx-mrp_type = 'X'.

gt_bapi_marcx-mrp_ctrler = 'X'.

gt_bapi_marcx-serv_level = 'X'.

gt_bapi_marcx-availcheck = 'X'.

Material Description

REFRESH gt_materialdesc.

gt_materialdesc-langu = gs_output1-spras.

gt_materialdesc-matl_desc = gs_output1-maktx.

append gt_materialdesc.

*Sales

gt_bapi_mvke1-sales_org = gs_output1-vkorg.

gt_bapi_mvke1-distr_chan = gs_output1-vtweg.

gt_bapi_mvke1-sal_status = gs_output1-vmsta.

gt_bapi_mvke1-valid_from = gs_output1-vmstd.

gt_bapi_mvkex-sales_org = 'X'.

gt_bapi_mvkex-distr_chan = 'X'.

gt_bapi_mvkex-sal_status = 'X'.

gt_bapi_mvkex-valid_from =

Reward Points if found helpfull..

Cheers,

Chandra Sekhar.