We need to add a new field 0VENDOR to our datasource 0FI_GL_4. This field is available in our BSEG table. Hence, we are planning to go ahead with datasource enhancement.
Now, please advice on how to update the historical data to this newly added field.I have heard there is a BW functionality/program to do so without deleting the entire data. Kindly advice on the possible solutions.
Thanks & Regards
When we appended a column to a large InfoObject or DSO and didn't want to truncate and load data (e.g. sales data is usually quite large and could take a long time to reload), we created a generic extractor that had the alternative/naturlal key, whether single column or composite, and the column or columns that were appended and did only a full load of that to the PSA level. Then we created a new Transformation to the object being appended to and updated the destination with the new columns. This was much quicker and gave us the capability of having a means of updating the destination whenever it was required to do so.
This approach should only be used when it's not feasible to truncate, append and reload data to the destination. This appears, however, to be a good candidate for you because in the case of an InfoObject, that may not be possible because the master data SIDs are contained throughout the transactional data and the system may not allow for that unless you truncate all of the transactional data so that the SIDs no longer exist.
Using remodeling option you will be able to do that, ie.. loading historical data for new attributes without deleting existing data. But the problem is in remodeling either you can assign constant or some other attribute value or values determined using EXIT.
Now when you are loading data from source system and if you need historical data as well the best practise is delete existing data and reload it from source sytsem.
But if you don't want to do that then I can give you one trick but not sure whether it will work or not. The idea is to populate the historical values for 0Vendor using customer exit option of remodeling. Now to get the historical values in customer exit you will need all that data in some BW table, here you can think of creating some generic extractor which will store the values of all the documents and the respective vendor, as you will load data form source system you will get historical values as well.
Now read that table in customer exit and populate vendor value. This will be one time process to populate the historical values.