In my current project, we want to separate the current MultiProvider with VirtualProvider underneath into one MultiProvider with VirtualProvider and one MultiProvider without VirtualProvider. This step is necessary, because we receive a lot of data and don't want to push all these data through the VirtualProvider. The VirtualProvider only add one field which we haven't got in our InfoCubes and it isn't necessary in all queries just a few.
So we decided to split the existing MultiProvider into two. This means, we have to transfer some of the existing queries from the current MultiProvider to the new one. Because we don't want to build them, especially when the MultiProviders have the same structure.
You can either use the transaction SE37 with the function module RSZ_I_COPY_QRY_TO_CUBE_SINGLE or use the transaction RSZC. I will describe both ways. Open the transaction SE37 and execute the function module RSZ_I_COPY_QRY_TO_CUBE_SINGLE. You should see the following screen.
Into the field I_SOURCE_COMPUID you have to fill the COMPUID which you can find out with the table V_REP_JOIN. The field I_SOURCE_INFOCUBE is your source provider and the I_TARGET_INFOCUBE is your destination provider. You have also to remove the X in I_CHECK_COMPLIANCE. Now you can execute the function module and your query is copied to the new MultiProvider.
The other way is to use the transaction RSZC. If you use it, you should see the following screen.
This screen explains itself. Into Source InfoProvider you have to put your source MultiProvider and into Target InfoProvider the destination. You can choose what you want to copy. For example:
- Restricted Key Figures
- Calculated Key Figures
The transaction RSZC makes it very easy to copy a lot of queries at once. I hope this help someone, so you haven't to build all your queries again on a new MultiProvider.