Have you checked standard report RVSCD100? It logs header and item level changes of sales order. Please check if it records changes in condition values as well. This way, you will not be required to create any z table and write code in user exit.
Regards