My Approach to handle this would be:
Create on DSO and with Batch no and sy-datum as keyfield and rest all as data fields.
Load the data in dso now when ever the data will be loaded it will be populated with date details as well.
So if at any point of time you need to track the history of object you can do that as based on date the date will not get overwritten.
For getting the latest data let color and size be the navigational attributes of 0batch only.
You can select the same in DSO as well..
Hope this gives an idea.
Regards,
AL