Skip to Content
0
Former Member
Jul 14, 2008 at 06:32 PM

unit of measure error in BAPI_MATERIAL_SAVEDATA

2208 Views

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:

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

error number :490

dont get tence for code 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..

thanks in advance and will full points to reply....

&----


*& 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

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_prtdatax.

&----


  • 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.

&----


&----