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
1,309

Hi Guru's,

i am trying to upload the material master data using BAPI...while uploading ia m getting beloow error ..please guide me anyone you..where i am doing mistake.....

1st this error i am getting while executing:

internal unit HR ,language EN is not maintained.

and afetr execution in gs_return i am getting below error(in debugging mode):

Unit of measure ****** is not defined; check your entry

error number :490

dont get tence for HR (as unit of measure) and all the values ae moving properly into BAPI...and

here i am consider the unit of mesure as HR (hour)..

here i am caliculating like ex: for employe (material) generating bill in hour basis.that is per 1hour $100.

please let me know if my question is not clear..

even with HUR also i am getting same error.....

is there any changes required in the SPRO .......

i mean in BAPI had ..unitofmeasure we have around 21 fields( here extra fields is DEL FLAG)

but in unitofmeasurex has only 20 fields...

we need to anything in SPRO for avoiding DEL FLAG.....

sorry if i am confusing u.....

if you ae using same HR while creating manuvally material in MM01 then it will be stored in the mara table like STD.that is it is converting HR into STD (german language).......

let me know any changes required related to this.....

IN BAPI TEST:

i am able to create in my BAPI test with HR only and the material cretaed...

but in some meassaes in return table while BAPI test is there any effet with this messages..

102 Trying to create: SRINIVAS AREPALLI 8888 0001 8888 __________ 8888 88 _ _

160 The material cannot be maintained since no maintainable data transferred

103 Trying to change: SRINIVAS AREPALLI 8888 0001 8888 __________ 8888 88 _ _

810 No changes made

3 REPLIES 3
Read only

Former Member
0 Likes
1,100

Hi,

Maybe you need to use:

CONVERSION_EXIT_CUNIT_INPUT to convert the unit of measure to the internal unit of measure.

For eg: HR is internally stored as STD.

Regards,

Subramanian

Read only

Former Member
0 Likes
1,100

hi all ,

we need do some changes in SPRO and i resolved the issue plase find the program logic below if it may helpfull any one

&----


*& Report ZERP_MATERIAL_CREATE_UPLOAD

*&

&----


*&

*&

&----


REPORT zerp_material_create_upload.

DATA:gs_bapimathead TYPE bapimathead,

gs_clientdata TYPE bapi_mara,

gs_clientdatax TYPE bapi_marax,

gs_plantdata TYPE bapi_marc,

gs_plantdatax TYPE bapi_marcx,

gs_forecastparameters TYPE bapi_mpop,

gs_forecastparametersx TYPE bapi_mpopx,

gs_valuationdata TYPE bapi_mbew,

gs_valuationdatax TYPE bapi_mbewx,

gs_salesdata TYPE bapi_mvke,

gs_salesdatax TYPE bapi_mvkex,

gs_storagelocationdata TYPE bapi_mard,

gs_storagelocationdatax TYPE bapi_mardx,

gt_materialdescription TYPE STANDARD TABLE OF bapi_makt,

gwa_materialdescription TYPE bapi_makt,

gt_taxclassifications TYPE STANDARD TABLE OF bapi_mlan,

gwa_taxclassifications TYPE bapi_mlan,

gt_prtdata TYPE STANDARD TABLE OF bapi_mfhm,

gwa_prtdata TYPE bapi_mfhm,

gt_prtdatax TYPE STANDARD TABLE OF bapi_mfhmx,

gwa_prtdatax TYPE bapi_mfhmx,

gt_unitsofmeasure TYPE STANDARD TABLE OF bapi_marm,

gwa_unitsofmeasure TYPE bapi_marm,

gt_unitsofmeasurex TYPE STANDARD TABLE OF bapi_marmx,

gwa_unitsofmeasurex TYPE bapi_marmx,

gs_return TYPE bapiret2.

TYPES:BEGIN OF gty_itab1,

matnr(18), "material

mbrsh(1), "industry sector

mtart(4), "material type

vkorg(4), "sales org

vtweg(2), "distr chan

kondm(2), "mat prcing grp

ktgrm(2), "acc asgn grp

dwerk(4), "plant

meins(3), "base uom

tragr(4), "tarns grp

matkl(9), "mat grp

spart(2), "division

ntgew(13), "net weight

gewei(3), "weight unit

werks(4), "plant

ladgr(4), "loading grp

dismm(2), "mrp type

mtvfp(2), "available check

disgr(4), "mrp grp

dispo(3), "mrp controller

beskz(1), "procurement type

prmod(1), "forecasting mode

bklas(4), "valution class

stprs(11), "std price

vprsv(1), "price control

peinh(5), "price unit

lgort(4), "storage location

maktx(40), "mat description

taxkm(1), "tax class

planv(3), "task list usage

brgew(13), "gross weight

mtpos(4), "gen it gross grp

END OF gty_itab1.

DATA:gt_itab1 TYPE STANDARD TABLE OF gty_itab1,

gwa_itab1 TYPE gty_itab1.

TYPES:BEGIN OF gty_itab2,

abc(178),

END OF gty_itab2.

DATA:gt_itab2 TYPE STANDARD TABLE OF gty_itab2,

gwa_itab2 TYPE gty_itab2.

PARAMETERS:p_files TYPE string.

&----


*START-OF-SELECTION.

&----


START-OF-SELECTION.

&----


*using call method uploading CSV file into internal table

&----


CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = p_files

filetype = 'ASC'

TABLES

data_tab = gt_itab2

EXCEPTIONS

file_open_error = 1

file_read_error = 2

no_batch = 3

gui_refuse_filetransfer = 4

invalid_type = 5

no_authority = 6

unknown_error = 7

bad_data_format = 8

header_not_allowed = 9

separator_not_allowed = 10

header_too_long = 11

unknown_dp_error = 12

access_denied = 13

dp_out_of_memory = 14

disk_full = 15

dp_timeout = 16

OTHERS = 17.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

LOOP AT gt_itab2 INTO gwa_itab2.

gwa_itab1 = gwa_itab2-abc(178).

APPEND gwa_itab1 TO gt_itab1.

ENDLOOP.

LOOP AT gt_itab1 INTO gwa_itab1.

SPLIT gwa_itab1 AT ',' INTO

gwa_itab1-matnr

gwa_itab1-mbrsh

gwa_itab1-mtart

gwa_itab1-vkorg

gwa_itab1-vtweg

gwa_itab1-kondm

gwa_itab1-ktgrm

gwa_itab1-dwerk

gwa_itab1-meins

gwa_itab1-tragr

gwa_itab1-matkl

gwa_itab1-spart

gwa_itab1-ntgew

gwa_itab1-gewei

gwa_itab1-werks

gwa_itab1-ladgr

gwa_itab1-dismm

gwa_itab1-mtvfp

gwa_itab1-disgr

gwa_itab1-dispo

gwa_itab1-beskz

gwa_itab1-prmod

gwa_itab1-bklas

gwa_itab1-stprs

gwa_itab1-vprsv

gwa_itab1-peinh

gwa_itab1-lgort

gwa_itab1-maktx

gwa_itab1-taxkm

gwa_itab1-planv

gwa_itab1-brgew

gwa_itab1-mtpos.

&----


*header data

&----


gs_bapimathead-material = gwa_itab1-matnr.

gs_bapimathead-ind_sector = gwa_itab1-mbrsh.

gs_bapimathead-matl_type = gwa_itab1-mtart.

gs_bapimathead-basic_view = 'X'.

gs_bapimathead-sales_view = 'X'.

gs_bapimathead-purchase_view = 'X'.

gs_bapimathead-mrp_view = 'X'.

gs_bapimathead-storage_view = 'X'.

gs_bapimathead-account_view = 'X'.

gs_bapimathead-cost_view = 'X'.

&----


*sales data

&----


gs_salesdata-sales_org = gwa_itab1-vkorg.

gs_salesdatax-sales_org = '8888'. "'X'.

gs_salesdata-distr_chan = gwa_itab1-vtweg.

gs_salesdatax-distr_chan = '88'. "'X'.

gs_salesdata-mat_pr_grp = gwa_itab1-kondm.

gs_salesdatax-mat_pr_grp = 'X'.

gs_salesdata-acct_assgt = gwa_itab1-ktgrm.

gs_salesdatax-acct_assgt = 'X'.

gs_salesdata-delyg_plnt = gwa_itab1-dwerk.

gs_salesdatax-delyg_plnt = 'X'.

&----


*client data

&----


gs_clientdata-base_uom = 'HR'. "gwa_itab1-meins.

gs_clientdatax-base_uom = 'X'.

gs_clientdata-trans_grp = gwa_itab1-tragr.

gs_clientdatax-trans_grp = 'X'.

gs_clientdata-matl_group = gwa_itab1-matkl.

gs_clientdatax-matl_group = 'X'.

gs_clientdata-division = gwa_itab1-spart.

gs_clientdatax-division = 'X'.

gs_clientdata-net_weight = gwa_itab1-ntgew.

gs_clientdatax-net_weight = 'X'.

gs_clientdata-unit_of_wt = gwa_itab1-gewei.

gs_clientdatax-unit_of_wt = 'X'.

  • gs_clientdata-item_cat = gwa_itab1-mtpos.

  • gs_clientdatax-item_cat = 'X'.

&----


*Plant data

&----


gs_plantdata-plant = '8888'. "gwa_itab1-werks.

gs_plantdatax-plant = '8888'. "'X'.

gs_plantdata-loadinggrp = gwa_itab1-ladgr.

gs_plantdatax-loadinggrp = 'X'.

gs_plantdata-mrp_type = gwa_itab1-dismm.

gs_plantdatax-mrp_type = 'X'.

gs_plantdata-availcheck = gwa_itab1-mtvfp.

gs_plantdatax-availcheck = 'X'.

gs_plantdata-mrp_group = gwa_itab1-disgr.

gs_plantdatax-mrp_group = 'X'.

gs_plantdata-mrp_ctrler = gwa_itab1-dispo.

gs_plantdatax-mrp_ctrler = 'X'.

gs_plantdata-proc_type = gwa_itab1-beskz.

gs_plantdatax-proc_type = 'X'.

gs_plantdata-period_ind = 'M'. "HARD CODED FOR PERKZ peroid indicator

gs_plantdatax-period_ind = 'X'.

gs_plantdata-inhseprodt = '0'. "hard coded for DZEIT inhouse production

gs_plantdatax-inhseprodt = 'X'.

&----


*forecast parameeters

&----


gs_forecastparameters-plant = '8888'. "gwa_itab1-prmod.

gs_forecastparametersx-plant = '8888'. "'X'.

gs_forecastparameters-fore_model = gwa_itab1-prmod.

gs_forecastparametersx-fore_model = 'X'.

&----


*valution data

&----


gs_valuationdata-val_area = '8888'. "gwa_itab1-bklas.

gs_valuationdatax-val_area = '8888'. "'X'.

gs_valuationdata-val_class = gwa_itab1-bklas.

gs_valuationdatax-val_class = 'X'.

gs_valuationdata-std_price = gwa_itab1-stprs.

gs_valuationdatax-std_price = 'X'.

gs_valuationdata-price_ctrl = gwa_itab1-vprsv.

gs_valuationdatax-price_ctrl = 'X'.

gs_valuationdata-price_unit = gwa_itab1-peinh.

gs_valuationdatax-price_unit = 'X'.

&----


*storage location dat

&----


gs_storagelocationdata-plant = '8888'. "gwa_itab1-lgort.

gs_storagelocationdatax-plant = '8888'. "'X'.

gs_storagelocationdata-stge_loc = gwa_itab1-lgort.

gs_storagelocationdatax-stge_loc = '8888'. "'X'.

&----


*material discription

&----


gwa_materialdescription-langu = 'E'.

gwa_materialdescription-matl_desc = gwa_itab1-maktx.

&----


*tax classification

&----


  • gwa_taxclassifications-taxclass_1 = gwa_itab1-taxkm.

gwa_taxclassifications-depcountry = 'US '. "HARD CODE FOR TAX

&----


*prt data

&----


gwa_prtdata-plant = '8888'. "gwa_itab1-planv.

gwa_prtdatax-plant = '8888'. "'X'.

gwa_prtdata-prt_usage = gwa_itab1-planv.

gwa_prtdatax-prt_usage = 'X'.

&----


*unitsof measure

&----


gwa_unitsofmeasure-alt_unit = 'HR'. "gwa_itab1-brgew.

gwa_unitsofmeasurex-alt_unit = 'HR'. "'X'.

gwa_unitsofmeasure-unit_of_wt = 'KG'. "gwa_itab1-brgew.

gwa_unitsofmeasurex-unit_of_wt = 'X'.

gwa_unitsofmeasurex-sub_uom = 'X'.

gwa_unitsofmeasure-gross_wt = gwa_itab1-brgew.

gwa_unitsofmeasurex-gross_wt = 'X'.

&----


*appending workarea to table's

&----


APPEND gwa_materialdescription TO gt_materialdescription.

APPEND gwa_taxclassifications TO gt_taxclassifications.

APPEND gwa_prtdata TO gt_prtdata.

APPEND gwa_prtdatax TO gt_prtdatax.

APPEND gwa_unitsofmeasure TO gt_unitsofmeasure.

APPEND gwa_unitsofmeasurex TO gt_unitsofmeasurex.

&----


*calling FM BAPI for uploading the Material master data

&----


CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

EXPORTING

headdata = gs_bapimathead

clientdata = gs_clientdata

clientdatax = gs_clientdatax

plantdata = gs_plantdata

plantdatax = gs_plantdatax

forecastparameters = gs_forecastparameters

forecastparametersx = gs_forecastparametersx

storagelocationdata = gs_storagelocationdata

storagelocationdatax = gs_storagelocationdatax

valuationdata = gs_valuationdata

valuationdatax = gs_valuationdatax

salesdata = gs_salesdata

salesdatax = gs_salesdatax

IMPORTING

return = gs_return

TABLES

materialdescription = gt_materialdescription

unitsofmeasure = gt_unitsofmeasure

unitsofmeasurex = gt_unitsofmeasurex

taxclassifications = gt_taxclassifications

prtdata = gt_prtdata

prtdatax = gt_prtdata.

&----


  • Check the return table.

&----


IF sy-subrc NE 0.

CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

WRITE: / 'Error occured while creating material'.

ELSE.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.

WRITE: / 'material',gwa_itab1-matnr,'created'.

ENDIF.

ENDLOOP.

&----


&----


Read only

0 Likes
1,100

Hi,

What changes did you actually made in SPRO to resolve this issue. I am also trying to update the custom field in accounting view an i am also getting the same error message

Trying to create: 00396 ____ ____ 0110 __________ ____ __ ___ ___

The material cannot be maintained since no maintainable data transferred

Trying to change: 00396 ____ ____ 0110 __________ ____ __ ___ ___

No changes made

Thanks in advance