You're not going to be able to do this by report alone.
In order to be able to identify the fields that were changed you are going to have to head down one of 2 routes...
- 1 A batch process that runs periodically (overnight?) that snapshots the data into temp tables and then compares the values with previous snapshot and reports the differences, or
- 2 Use triggers to grab which fields have been changed (using the :OLD and :NEW references) and write this information to a stage table which is then used to drive your report.
There is core functionality within OAB called the "Change Event Log" (or similar) that does this, but on a much grander scale (ie for larger number of tables). This could be a useful start point for you
Either way, you are going to need a reasonable amount of development work using mixed tools (PL/SQL, Triggers, Reports etc).
One question i do have (and should have asked this first

) is why do you need this information? WHat is the business driver for this?
Regards
Barry