Skip to Content

For some reports that process a huge amount of data,  the users may go mad about the runtimes of queries. For some extend we can improve the performance by playing with the design of the datasource, dataflow, the queries or the aggregates. In this document I will explain how filling OLAP Cache using broadcasting affects the performance of a query.

For this aim, a query which has a long runtime is selected: ZTEST_Q0001. For filling the OLAP cache,  BEx Broadcaster is selected in query design menu as seen below:

201407_01.PNG

When we select BEx Broadcaster, an html page is opened in the browser. If no broadcasting setting is made beforehand, you will see the screen as below:

201407_02.PNG

Select Create New Setting. You will see a pane below where a list of possible alternatives for broadcasting is made:

201407_03.PNG

When “Fill OLAP Cache” option is selected, the output format will automatically be OLAP Cache Content

201407_04.PNG


Save the broadcast giving the technical name and description:


201407_05.PNG

Now it is seen in the main browser and can be changed anytime:


201407_06.PNG

The next step will be creating a variant to schedule this broadcast. For this aim se38 transaction is used to run the program: ”RSRD_BROADCAST_STARTER”. Select Variants and click on Display button:

201407_07.PNG

Create a variant for the program by clicking on the create button next to the Variant field:

201407_08.PNG

Give a name to the variant and create it.


201407_09.PNG

Set the technical name of the setting same as the technical name given in broadcast definition in the previous step. Click on Attributes button and enter a description:

201407_10.PNG


Save the variant. Go back to se38 to run RSRD_BROADCAST_STARTER. Select “With Variant” option and select the variant just created in the previous step. The program can directly be run manually or can be scheduled using execution in background.


201407_11.PNG

You can schedule this job everyday for those queries that have a long run time.  This process can also be included in a process chain. I experienced around 75% improvement on a query which is built on an infocube with 50 million records. You can also measure the performance improvement running the query with RSRT using cache and not using cache and analyze the statistics.

I hope it gives an idea for performance improvement.

Regards

Yasemin Uluturk


To report this post you need to login first.

26 Comments

You must be Logged on to comment or reply to a post.

    1. Yasemin ULUTURK Post author

      Thank you very much for your nice comment Suman. your document on how to optimize reporting performance inspired me to write this document 🙂

      (0) 
  1. Raman Korrapati

    Hi Yasemin,

    Reports performance wise its most useful information and good presentation.

    its easy to understand the concept.

    Thanks for sharing.

    As my guess BEx forum will be right place to publish..

    Thanks

    Raman

    (0) 
    1. Yasemin ULUTURK Post author

      Hi Raman,

      I just realized that I published it in the wrong space. Moderator has moved to its correct place. Thank you for your very nice comment.

      (0) 
      1. Suman Chakravarthy K

        Hi Yasemin ULUTURK,

        It’s not moderator. I have moved to BEx space. I think you have created your document in such a way that anybody can edit it. I get edit option as well. If you don’t want to make it to be editable by public, you may just change it.

        Regards,

        Suman

        (0) 
        1. Yasemin ULUTURK Post author

          Hi Suman,

          I got a message that it was moved by the moderator. I will leave it as it is so that if anyone has some experience to share or something to change, then s/he can edit and make it more useful. Thank you 🙂

          (0) 
  2. Antony Jerald J

    Hi,

    Thanks for sharing..it was really useful.

    In sales function, there’s a bex query which executes for long time and finally gives out time out error.  The sales process chain runs at every 4 hours.  Do I need to schedule the olap cache broadcaster for every 4 hours to ensure that we’ll get 4 hours sales’ update?

    Kindly suggest.

    Regards,

    Antony Jerald.

    (0) 
    1. Yasemin ULUTURK Post author

      Hi Antony, thank you for liking the document. You need to schedule that every four hours so that it will be updated. You can also include this step in the process chain. You can create a program triggering an event for broadcasting, and in the process chain you can call this program. Regards

      Yasemin…

      (0) 
      1. Antony Jerald J

        I couldn’t find “Fill OLAP Cache” option in the BEx broadcaster.  Only Broadcast-Email option is visible in the broadcaster.

        Could you please tell me how to get the option for filling olap cache?  Is there any additional settings I need to do?  Kindly suggest.

        Capture1.JPG

        Regards,

        Antony Jerald.

        (0) 
          1. Ben Li

            Hi Yasemin,

            I have several queries and i created multiple variants.

            How to add this in Process chain.Which process type to be used

            (0) 
            1. Yasemin ULUTURK Post author

              Hi Ben,

              You can directly add a process with type: ABAP Program. Assign RSR_BROADCAST_STARTER as the program name and give its variant. You can add as many processes for each query.

              Regards

              Yasemin…

              (0) 
  3. Aparajit Banik

    Hi Yasemin
    You have always helped me  when ever i have put my queries in the forum.

    And that along with Rama,Anshu, ,Suman, kodanda ,

    you have been always patient in guiding and making us learn from our mistakes and also   giving us new ideas.
    As SAP BI/BW is large enough to  give a brain storm to juniors, presence of seniors like you is always a thanks giving everyday.
    Thanks for sharing this KT. I am bookmarking it to read and keep a note of this. 🙂

    Regards, Aparajit

    (0) 
  4. Shawn Huang

    Hi experts,

    I’m trying to follow the steps, but when I tried to “SAVE”, nothing happened, no popup appears to enter Technical Name, would appreciate if anyone could help on this? thanks in advance.

    Shawn

    (0) 

Leave a Reply