Page 1 of 1

Copy data between DWs/DSs

PostPosted: 04 Mar 2013, 15:45
by Ursego
Data can be copied from one DW/DS to another in a very simple way:

Code: Select all
<target DW or DS>.object.data = <source DW or DS>.object.data

But there are a few potential issues in that approach which force us to dilute our business logic with some boring technical code. So, we need to:

1. Ensure that the source DW/DS is valid.
2. Ensure that the target DW is valid.
3. Create the target DS if it is not valid.
4. Reset() the target DW/DS.
5. Copy the DataObject from the source to the target.
6. Make sure there is at least one row to copy. If the source has no rows then a runtime error occurs!

All those problems are solved in a small autoinstantiated NVO n_copy_data which is downloadable here. It has four overloaded functions uf_from_to(<source DW or DS>, <target DW or DS>). If you want to add these function to another NVO (or to your ancestor DW/DS) then change their name to uf_copy_data_from_to (the name uf_from_to makes sense only in n_copy_data, like lnv_copy_data.uf_from_to...).