I'd suggest looking at the following steps:
1. Get sorted data from table
2. Get sorted new data
3. Join #1 and #2 with a Merge Diff Step
4. Filter the Joined data for only changed records
5. Calculator step using NVL to get the non-null value for every field (if it exists)
6. Update step inserting your NVLed fields



