Copying queries across infoproviders which is done using RSZC is a well discussed topic and available on help.sap.Similary, copying queries across infoproviders which are not alike is a widely discussed topic too.Some of the solutions for this are as below:
Method 1: Setting debug point as in this wiki.
Method 2: Using ABAP as in this article.
Method 3: Using a multiprovider as in this Re: How to copy query elements without Bex.
I personally have not tried method 1 and 2, these two are generic solutions as I see it.
But if you have a small requirements where you need to just copy between two infoproviders then you can use below option too (Method 4).
Let me take an example,
Source Infoprovider: YCOPY_SRC
Target Infoprovider: YCOPY_TGT
The only difference between YCOPY_SRC and YCOPY_TGT is one characteristic say 0MATERIAL (0MATERIAL is present in YCOPY_SRC but not present in YCOPY_TGT).
Requirement: Copy query YCOPY_SRC_Q0001(query on YCOPY_SRC) to YCOPY_TGT.
If you use RSZC you will receive error stating "0material is missing in target infocube".
Solution:
In your development system:
1) Create a temporary infoprovider say YCOPY_TMP which is exact copy of YCOPY_SRC. You can activate it under local object ($TMP) as you neednot transport this.
Note: You need not create transformations,DTPs etc as we won't load anything to this.
2) Using RSZC copy query YCOPY_SRC_Q0001 to temporary infoprovider say YCOPY_TMP_Q0001.
3) Now edit your cube YCOPY_TMP to have same structure as YCOPY_TGT, in our example remove 0MATERIAL from YCOPY_TMP.
4) Now copy YCOPY_TMP_Q0001 to YCOPY_TGT using RSZC with desired technical name say YCOPY_TGT_Q0001.It will be successful since structure of YCOPY_TMP and YCOPY_TGT are same.
5) Now your activity with YCOPY_TMP and YCOPY_TMP_Q0001 is complete you can delete them.
6) You can now attach you query YCOPY_TGT_Q0001 to transport via transport connection and hence transport.
Pros:
Simple, No ABAP required, no special debugging skills required.
Cons:
Not a generic solution, you would have to create new temporary cubes as the source changes.
P.S: This method came to my mind when we were analysing for copying queries for one of the requirement.But while writing this blog I searched the forum this method was suggested in the How to copy Queries in Bex between two InfoCubes so would like to mention this as well.