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