Solution : https://service.sap.com/sap/support/notes/970839 (SAP Service marketplace login required)
Key words :
call function 'read_exchange_rate' exporting date = ls_bapi_pocond-conpricdat foreign_currency = ls_bapi_pocond-currency local_currency = lv_local_currency importing exchange_rate = ls_bapi_pocond-conexchrat exceptions no_rate_found = 1 no_factors_found = 2 no_spread_found = 3 derived_2_times = 4 overflow = 5 zero_rate = 6, ls_bapi_pocond-conpricdat = bbp_poheader-doc_date, ls_bapi_pocond-currency = bbp_poheader-currency, bbp_poheader-currency ne ls_ekko-waers, bbp_poheader-currency eq lv_local_currency, ls_bbp_po_item-net_price ne ls_ekpo-netpr, ls_bapi_pocond-cond_type = ls_po_konv-kschl, ls_bapi_pocond-cond_value = ls_bbp_po_item-net_price, ls_bapi_pocond-itm_number = ls_bbp_po_item-po_item, ls_bapi_pocond-conexchrat = '1
Related Notes :
932236 | BAPI_PO_CREATE1: Purchase order price unit not transferred |
850335 | Incorrect price in R/3 if currency is changed in SRM |