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

Uploading multiple UoM datas in material master by BAPI_MATERIAL_SAVEDATA

bibhuti_khamari
Explorer
0 Likes
1,121

Dear Experts,

I want to upload multiple units of measure against a particular material number during master data upload using BAPI_MATERIAL_SAVEDATA. Please help me

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,035

Hi,

Populate the data in BAPI structures UNITSOFMEASURE & UNITSOFMEASUREX.

Regards

Vinod

Dear Experts,

I want to upload multiple units of measure against a particular material number during master data upload using BAPI_MATERIAL_SAVEDATA. Please help me

5 REPLIES 5
Read only

Former Member
0 Likes
1,036

Hi,

Populate the data in BAPI structures UNITSOFMEASURE & UNITSOFMEASUREX.

Regards

Vinod

Read only

0 Likes
1,035

that i already had done like below

LOOP AT itab1.

i_bapi_marm-numerator = itab1-umrez.

i_bapi_marm-denominatr = itab1-umren.

i_bapi_marm-alt_unit = itab1-meinh.

i_bapi_marm-gross_wt = itab1-brgew.

APPEND i_bapi_marm.

CLEAR i_bapi_marm.

ENDLOOP.

LOOP AT itab1.

i_bapi_marm-alt_unit = itab1-meinh.

i_bapi_marmx-numerator = 'X'.

i_bapi_marmx-denominatr = 'X'.

APPEND i_bapi_marmx.

CLEAR i_bapi_marmx.

ENDLOOP.

........................................................................

CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

EXPORTING

headdata = i_headdata

clientdata = i_clientdata

clientdatax = i_clientdatax

plantdata = i_plantdata

plantdatax = i_plantdatax

  • FORECASTPARAMETERS = i_forcastingparameter

  • FORECASTPARAMETERSX = i_forcastingparameterx

  • PLANNINGDATA =

  • PLANNINGDATAX =

storagelocationdata = i_storagelocationdata

storagelocationdatax = i_storagelocationdatax

valuationdata = i_valuationdata

valuationdatax = i_valuationdatax

  • WAREHOUSENUMBERDATA =

  • WAREHOUSENUMBERDATAX =

  • salesdata = i_salesdata

  • salesdatax = i_salesdatax

  • STORAGETYPEDATA =

  • STORAGETYPEDATAX =

  • FLAG_ONLINE = ' '

  • FLAG_CAD_CALL = ' '

IMPORTING

return = i_return

TABLES

materialdescription = i_bapi_makt[]

unitsofmeasure = i_bapi_marm[]

unitsofmeasurex = i_bapi_marmx[]

  • INTERNATIONALARTNOS =

MATERIALLONGTEXT = i_longtextdata[]

  • taxclassifications = i_bapi_mlan

  • RETURNMESSAGES =

  • PRTDATA =

  • PRTDATAX =

  • EXTENSIONIN =

  • EXTENSIONINX =

.

stilll its not getting uploaded..

Read only

0 Likes
1,035

Hi,

Correct the Code for updating i_bapi_marmx

LOOP AT itab1.
*i_bapi_marm-alt_unit = itab1-meinh.   "Commented : used i_bapi_marm instead of i_bapi_marmx"
i_bapi_marmx-alt_unit = itab1-meinh.
i_bapi_marmx-numerator = 'X'.
i_bapi_marmx-denominatr = 'X'.

APPEND i_bapi_marmx.
CLEAR i_bapi_marmx.

ENDLOOP.

Regards

Vinod

Read only

0 Likes
1,035

Hi,

Just a small recommendation,

Instead of looping tab1 two times, you can call only once as below:

LOOP AT itab1.

i_bapi_marm-numerator = itab1-umrez.

i_bapi_marm-denominatr = itab1-umren.

i_bapi_marm-alt_unit = itab1-meinh.

i_bapi_marm-gross_wt = itab1-brgew.

APPEND i_bapi_marm.

CLEAR i_bapi_marm.

i_bapi_marmx-alt_unit = itab1-meinh.

i_bapi_marmx-numerator = 'X'.

i_bapi_marmx-denominatr = 'X'.

APPEND i_bapi_marmx.

CLEAR i_bapi_marmx.

ENDLOOP.

Regards,

Selva K

Read only

Former Member
0 Likes
1,035

Hi,

I hope you have faced the problem because this unit conversion.if any further clarifications do ask me.

if wa_data-BSTME is NOT INITIAL.

PERFORM conversion USING wa_data-BSTME CHANGING lv_bstme.

wa_MARM-ALT_UNIT = lv_bstme.

wa_MARM-ALT_UNIT_ISO = lv_bstme.

wa_MARM-DENOMINATR = wa_data-umren.

wa_MARMX-ALT_UNIT = lv_bstme.

wa_MARMX-ALT_UNIT_ISO = lv_bstme.

APPEND wa_MARM to it_MARM.

wa_MARMX-DENOMINATR = 'X'.

APPEND wa_MARMX to it_MARMX.

endif.

if wa_data-AUSME is NOT INITIAL.

PERFORM conversion USING wa_data-AUSME CHANGING lv_ausme.

wa_MARM-ALT_UNIT = lv_ausme.

wa_MARM-ALT_UNIT_ISO = lv_ausme.

wa_MARM-DENOMINATR = wa_data-umren1.

wa_MARMX-ALT_UNIT = lv_ausme.

wa_MARMX-ALT_UNIT_ISO = lv_ausme.

APPEND wa_MARM to it_MARM.

wa_MARMX-DENOMINATR = 'X'.

APPEND wa_MARMX to it_MARMX.

endif.

  • Form Subroutine

FORM CONVERSION USING P_LT

CHANGING P_LT_CHG.

CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'

EXPORTING

INPUT = P_LT

LANGUAGE = SY-LANGU

IMPORTING

OUTPUT = P_LT_CHG

EXCEPTIONS

UNIT_NOT_FOUND = 1

OTHERS = 2.

IF SY-SUBRC <> 0.

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

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

ENDIF.

ENDFORM. " CONVERSION

Regards,

Manesh.R