Skip to Content
Author's profile photo Rajeev Mishra

Integrated Planning-Advanced DSO for Planning

I was about to start work on the next Integrated Planning Project but before that I wanted to spend some time exploring the new ADSO for planning. I could not find much on the web beyond the basic settings to be made in the ADSO for planning. So I decided to spend some time researching and trying it out  myself.

I am positive that the usual things like creation of an aggregation level on the ADSO, the planning query etc. will work as expected. What I wanted to check was whether  it was possible to do a lookup using ABAP in the plan data.

In this blog i will also describe why this small missing limitation was so  needed for integrated planning projects .

Welcome to the new world of the SAP HANA Studio:

First thing I realised is if you want to use the ADSO for planning then you have to use the new HANA Studio based BI Modelling perspective. Now in the old SAP GUI menu there is no menu option to create an ADSO so don’t waste time trying to create one in the old RSA1. To use the HANA studio or create an ADSO  you should be on version 7.4 or higher. I had already been using HANA Studio for some time for following the Open SAP Native HANA Software Development courses (Thomas Jung) and changing some design studio SDKs that I picked up from the web to include in the dashboard I was working on. So when I decided to explore the BW side of things I did not have much of a learning curve. I feel that working on the HANA Studio is easier than it was with the SAP GUI. As i spent more time working with the BI perspective i realised that multiple tabs are way easier to handle and refer back then multiple SAP GUI sessions. Also creating queries in a new tab and not having to open the query designer also makes life very simple. One inconvenience I faced when I worked with the earlier versions of the HANA Studio was that you had to step out of HANA Studio and open the SAP GUI for creating transformations etc. It is still not possible to create or edit a transformation in the HANA Studio. But now there is a new feature whereby you can open the old GUI based BI system within the HANA Studio and so you can do your transformations etc. without having to step out of HANA Studio. The overall BW Modelling perspective in HANA Studio is still WIP but whenever it is ready it will be very nice to open one tool and work on it rather than a separate SAP BI GUI, Query Designer etc.

ADSO for planning and Integrated Planning:

Before the advent of the planning ADSO planning could only be done on transactional cubes and in SAP BI it was not possible to do a lookup using ABAP into the cubes. There was a function module “RSDRI_INFOPROV_READ” which could do a lookup into the cube but it had very limited use.

So how was this a problem for Integrated planning projects anymore then it was for the usual BW projects?

Consider a planning scenario where each yearly planning cycle consists of three versions V1 to V3. When the users have finished entering their numbers for V1, the planning administrator via an administrator workbench locks the version V1 and then he initialises V2 .In due time he does the same for V3 by locking V2 and initialising V3.As per requirements the administrator is not allowed to initialise V2 before V1 is ready and locked for a particular year and he is not allowed to initialise V3 before V1 and V2 are ready and locked for a particular year.

What is V1, V2 and V3???

Versions can be used in many ways in planning. For e.g. In V1 the country managers enter the forecast at the country level .In V2 the forecast is done by Country and state and in V3 by Country, state and city.

The planning scenarios are usually much more complex than what I have described here. But I think this is sufficient to help you understand the problems faced when I describe them in the next part.

Now lets discuss the real problem..

So let’s assume the administrator wants to initialise V3 so that the users can go in and start entering their numbers. So when the administrator presses the “Create New Active Version” button the system first want to check if V1 and V2 for that year have been submitted and are locked. To do this check we need to do a lookup into the plan cube data. So on pressing of the button the following steps are executed

Step 1: On the press of the button execute a planning sequence which triggers a process chain.

Step 2: In the process chain we move the planning cube to load mode, empty DSO,Load data from cube to DSO, activate data and move planning cube back to plan mode.

Step 3: We now execute a second planning sequence which calls a function module which does the lookup and if V1 and V2 are locked the system it will initialise V3, else produce an error message.

Step 4: The user keeps refreshing the page to get an error message like “Version V2 is still open for planning” or a success message “Version V3 is initialised”.

If you look closer you will realise that it was possible to do all of this without the process chain only if we could do a lookup into the cube at the very first step. And even better all that was done in steps 1 to 4 could be accomplished with a single planning sequence.

To get over this limitation with cubes we ended up using workarounds. One way is to create a DSO for each cube and load them with the planning cube data and then do a lookup into these DSO which is what we see in steps 1 to 4 above. The second way was to set up a fancy way of managing flags by writing into info objects or tables.

This led to the following problems

Problem 1: Bad design with redundant objects

A DSO for each cubes, planning sequences to trigger process chains, process chains themselves were all objects that could have been avoided leading to a better, simpler design of the application.

Problem 2: The bigger problem -Bad user experience

  1. Since we are using a process chain, the user had to wait till the chain completed or stopped at an intermediate step for e.g. because the previous version was not locked. The relevant messages would then appear on the admin workbench screen.
  2. Sometimes the chain failed due to technical reasons but as there was no way to notify the user the user keeps on waiting for the notification or just leaves the application assuming the step is done.
  3. We also had to build in checks so that the user does not trigger the chain multiple times by pressing the button again and again.
  4. The user had to keep refreshing the page for messages. This was very inconvenient for the users.

But if a lookup was possible then we could do all of this without a process chain and with a single planning sequence. One of the benefits of a planning sequence is that it would immediately give you the result of the operation. This is what the user expects and this is also the kind of experience that the design team wants to deliver.
So lets build a quick application and see if we can do a lookup into the plan data

In this blog I plan to create a simple planning layout on a ADSO for planning and see if that helps me get over this problem.

The planning DSO generated five tables .The first two are relevant to us. The inbound table contains the plan data which has not yet been activated. Think of this as the yellow request in the planning cube. This also includes any data that you may have loaded but not yet activated. The active data table has the data which has been activated. In ADSO for planning the open planning request is always green.

So to see if a lookup using ABAP was possible I copied the same DSO and created a transformation from the planning DSO to this DSO .In the end routine I introduced a look up with break points. I initially committed the error of going only for the Active Data table but soon I realized I also had to include the inbound table .The inbound table contains what was the yellow request of the old planning cubes. The Active Data table contains the data that has been activated.

On activating the request all data goes to the active table. Remember now just flipping the status of the cube from plan to load and back will not do the trick. You have to activate the request if for any reason you want to open a new planning request.



We can do a lookup into the plan data in the ADSO for planning .This means we don’t have to include a process chain in design every time we want to do just check status of some data.

And this makes me very happy and if given a chance I would like to go back and redo the old planning applications I worked on with the ADSO for planning.




Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Hi Rajeev,

      Thanks for the nice post.

      So you recommend ADSO instead of Cube to do your planning for BW versions =>7.4 SP 11? If you could compare Cube & ADSO in terms of Pros & Cons of each, would help user community who are confused on which way to go.

      Thanks Again


      Author's profile photo Vikas Antil
      Vikas Antil

      Hi Rajeev,

      I am trying to create ADSO for Planning in BW 7.4 SP15 but this special Type : Planning Mode is missing. Can you please guide or help me.

      Also if you can help me with the limitations of using ADSO

      I am attaching the image of ADSO Special Type options available in our system.

      Author's profile photo Rajeev Mishra
      Rajeev Mishra
      Blog Post Author

      Hi Vikas,


      The planning option is not available in the ADSO in 7.4.


      Rajeev Mishra

      Author's profile photo Pavol Feranec
      Pavol Feranec

      Hi Rajeev,


      I have BW 7.5 SP07 but I do not see this option. I can only use Eclipse Neon.3 with the latest SAP updates. Can it be that it is only visible via HANA Studio?


      Thanks and regards,


      Author's profile photo Rajeev Mishra
      Rajeev Mishra
      Blog Post Author

      Hi Pavol,

      Yes,after installing Eclipse you have to install all the HANA related perspectives in Eclipse .And once you have done that use the "BW Modelling" perspective.


      Rajeev Mishra

      Author's profile photo Rajeev Mishra
      Rajeev Mishra
      Blog Post Author

      And you may want to try out Sebastians solution give below i.e.

      You need to add “BPC Embedded Model Active” to the customizing table RSPLS_HDB_ACT.

      Consequently the planning option @ADSO is visible.

      Author's profile photo Former Member
      Former Member

      Hi Rajeev,


      i got the following system active:

      HANA Studio Version 2.3.22 with Eclipse Version 4.6.3

      on HANA SPS12 and BW 7.5 Release 7

      and up to date BW Modelling perspective.


      I cant see the Planning Option. Do you have any ideas?

      Thanks in advance


      Best regards,


      Author's profile photo Former Member
      Former Member

      We found a solution:

      You need to add "BPC Embedded Model Active" to the customizing table RSPLS_HDB_ACT.

      Consequently the planning option @ADSO is visible.


      Best regards


      Author's profile photo Pavol Feranec
      Pavol Feranec

      Hi Sebastian,


      Thanks for the proposed solution.


      I found an OSS note 2456761 which fixes this error in other way without need to add BPC functionality. SAP states there it is an error in its code so if you do not need BPC Embedded Model then just install this OSS Note.


      As I am just external consultant I cannot propose my clients to activate features they do not use but since we installed this OSS Note, I am able to create plannable aDSOs.




      Author's profile photo Rama B
      Rama B

      Hi Rajeev, that was a good post. thanks. After 7.5 on HANA do we still need to use RSPLAN transaction or the same functions are available anywhere in HANA studio?

      Author's profile photo Rajeev Mishra
      Rajeev Mishra
      Blog Post Author

      Hi Rama,

      Thanks for liking my post .

      The transaction for developing IP related objects is still RSPLAN. SAP is moving the development  to the Eclipse but for IP the objects are still built using RSPLAN.

      BW/4 HANA does not have the IP functionality so you will not find RSPLAN.


      Rajeev Mishra

      Author's profile photo Joseph Estevez
      Joseph Estevez

      Hi  Rajeev,


      i would just like to inquire if you have blogs or documents in how to do version locking in integrated planning.


      thank you in advance.

      Author's profile photo Adria Triquell Cristofol
      Adria Triquell Cristofol

      Hi Rajeef,

      great post. I have a question:

      for planning we have two templates:

      a) "planning on cube like" (special type "All characteristics are key, reporting on unique key" is flagged.

      b) Planning on direct update


      The main difference between this two templates, is that with (a) we can identify the request (before it is activated).


      my question is: Why have you selected the (a) option? For a special reason?


      Thans in advance


      Author's profile photo Manish Thakur
      Manish Thakur

      Awesome post sir. thanks!!