I suggest you to do the following:
w_item-po_price = '2'.
w_itemx-po_price = abap_true.
and also the fields:
w_item-calctype = 'B'.
w_itemx-calctype = abap_true
" I am not sure if the field below affects the price
w_item-price_unit = "your_field_for_price_unit"
w_itemx-price_unit = abap_true
Also take a look at 580225 - Purchasing BAPIs: Conditions and pricing
Regards,
Felipe