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

Problem BAPI_PO_CREATE1

Former Member
0 Likes
740

hi,

i have a proble with Purchase Order for price in the WAERS 'JPY'..

amounts that values in the BAPI in output are multiplied for 100.

Es

LOOP AT lt_itemservdet INTO lw_itemservdet.

lw_poservices-pckg_no = lw_itemservdet-pckg_no.

lw_poservices-line_no = lw_itemservdet-line_no.

lw_poservices-outl_ind = lw_itemservdet-outl_ind.

lw_poservices-subpckg_no = lw_itemservdet-subpckg_no.

lw_poservices-service = lw_itemservdet-service.

IF lw_itemservdet-quantity IS INITIAL.

ADD 1 TO lw_itemservdet-quantity.

ENDIF.

lw_poservices-quantity = lw_itemservdet-quantity.

lw_poservices-price_unit = lw_itemservdet-price_unit.

lw_poservices-gr_price = lw_itemservdet-gr_price. " 30,0000

lw_poservices-short_text = lw_itemservdet-short_text.

lw_poservices-matl_group = lw_itemservdet-matl_group.

lw_poservices-ovf_unlim = c_flag.

APPEND lw_poservices TO lt_poservices.

CLEAR:lw_itemservdet,lw_poservices.

ENDLOOP.

In outpu in the transaction me23n the price is 3000

1 ACCEPTED SOLUTION
Read only

JoffyJohn
Active Contributor
0 Likes
656

for this

you have to add such a code to

PERFORM assign_price USING waers

CHANGING i_new_itms-netpr

i_services-gr_price.

FORM assign_price USING p_waers

CHANGING p_netpr

p_price.

DATA: l_curr(16) TYPE c,

l_decimals TYPE i.

SELECT SINGLE currdec

FROM tcurx

INTO l_decimals

WHERE currkey = p_waers.

IF sy-subrc EQ 0.

l_decimals = l_decimals - 2.

p_price = p_netpr / ( 10 ** l_decimals ).

ELSE.

p_price = p_netpr.

ENDIF.

ENDFORM.

We have solved the issue by adding such a code

5 REPLIES 5
Read only

Former Member
0 Likes
656

Thanks for telling us.

Read only

JoffyJohn
Active Contributor
0 Likes
657

for this

you have to add such a code to

PERFORM assign_price USING waers

CHANGING i_new_itms-netpr

i_services-gr_price.

FORM assign_price USING p_waers

CHANGING p_netpr

p_price.

DATA: l_curr(16) TYPE c,

l_decimals TYPE i.

SELECT SINGLE currdec

FROM tcurx

INTO l_decimals

WHERE currkey = p_waers.

IF sy-subrc EQ 0.

l_decimals = l_decimals - 2.

p_price = p_netpr / ( 10 ** l_decimals ).

ELSE.

p_price = p_netpr.

ENDIF.

ENDFORM.

We have solved the issue by adding such a code

Read only

Former Member
0 Likes
656

should not be a task of the BAPI?

Read only

JoffyJohn
Active Contributor
0 Likes
656

question not clear....basically you have to add the coding for conversion,

then pass this value to the bapi like this

i_services-base_uom = i_new_itms-meins.

PERFORM assign_price USING waers

CHANGING i_new_itms-netpr

i_services-gr_price.

i_srvacvals-percentage = 100.

i_srvacvals-serial_no = v_srl_no.

APPEND i_services.

APPEND i_srvacvals.

i_services-pckg_no = i_srvacvals-pckg_no = i_services-subpckg_no.

i_services-line_no = i_srvacvals-line_no =

v_line_no = v_line_no + 1.

i_services-subpckg_no = space.

i_services-short_text = i_new_itms-svc_text.

i_services-quantity = i_new_itms-menge.

i_services-base_uom = i_new_itms-meins.

PERFORM assign_price USING waers

CHANGING i_new_itms-netpr

i_services-gr_price.

i_srvacvals-percentage = 100.

i_srvacvals-serial_no = v_srl_no.

APPEND i_services.

APPEND i_srvacvals.

CLEAR: i_item,i_itemx,

i_schedule,i_schedulx,

i_account,i_accountx,

i_services,i_srvacvals.

ENDLOOP.

v_testrun = chk_only.

EXPORT ztcode TO MEMORY ID ztcode.

CALL FUNCTION 'BAPI_PO_CREATE1'

EXPORTING

poheader = i_header

poheaderx = i_headerx

testrun = v_testrun

IMPORTING

exppurchaseorder = i_header-po_number

expheader = i_header

TABLES

return = i_return

poitem = i_item

poitemx = i_itemx

poschedule = i_schedule

poschedulex = i_schedulx

poaccount = i_account

poaccountx = i_accountx

poservices = i_services

posrvaccessvalues = i_srvacvals.

Read only

Former Member
0 Likes
656

Your solution is clear, thanks. Only to understand.... it is a bug of bapi?

Thanks