This is not the standard way of doing it. What you are talking about is captured as part of exchange rate variance in the exchange rate gain and exchange rate loss accounts.
You don't change PO to reflect dollar value every time you receive the invoice. This is not the correct process.
Hope this helps.
Assuming that your ledger currency is not USD, and also assuming that you maintain GL Daily Rates, all you need to do is capture the exchange date and conversion rate when you enter the PO. It is a common practice to have these defaulted to the PO Date and "Corporate". Similarly, you can capture the exchange rate/date while entering invoices. From there, Oracle handles the exchange rate differences through exchange rate accounts.
You can load exchange rates from a legacy system to Oracle using GL Daily Rates Interface.