Skip to Content

Copy Queries(RSZC) across infoproviders which are slightly different

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.

5 Comments
You must be Logged on to comment or reply to a post.
    • I appreciate your comment, thanks.I agree its a simpler solution.
      What if I have 100 queries to copy ?
      The advantage of Method 4 was it utilized all the checks and gui's of program "COPY_QRY_TO_CUBE" which inturn is transaction RSZC and is the suggested way to copy queries across infoproviders.There are pros and cons of all methods.At the end of the day all achieve the same functionality.
      One of the agenda of writing this blog was to consolidate all methods available for copying queries across mismatched infoproviders.I will try to add this method as well into the blog if possible as method 5.