cancel
Showing results for 
Search instead for 
Did you mean: 

Disable queries or roles when cube is loading

Former Member
0 Kudos
48

We have a cube that takes all day to load. We would like to hide/disable the queries and/or roles when the cube is loading.

Is there an automated way to do this? Can it be done in a process chain?

I am hoping there is a security transaction that could be executed or an ABAP program that would activate/de-activate the queries/roles.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

I wonder about the requirement about which you have written this post.

If the reason you ask is that you are concerned that users may receive "partial" datasets during the cube data load, then here are a few words about that. There is a read pointer that only moves once either 1 - the InfoProvider load is complete or 2 - any aggregates for the cube have been completely rolled up. Therefore the read pointer ensures consistent data every time.

On the other hand, if you are concerned about the effect of user queries against a cube during data load from a performance standpoint, then here are a few words about that. There is no significant performance implications when read activity (queries) occur at the same time as insert activity (data load). As long as you have sufficient hardware capavicity in general (CPUs, memory, controllers for I/O), then there should be no special bottlenecks associated with querying this InfoProvider while loading it at the same time.

Regards -

Ron

Former Member
0 Kudos

Since there is no large impact on performance I suppose users can continue using the query while data is loaded in the cube and they will only see the data when the load is completely finished (correct me when I'm wrong).

I was just wondering what the users will see if there is only 1 request in the cube and then you load new data and afterwards the old request is deleted, so in the end only 1 request remains in the cube. Will the users experience any problem if the loading and removing takes places while there are using the query?

Kind regards,

Ben De Windt

Former Member
0 Kudos

For performance consideration, are you dropping and rebuilding indexes? If the anser is yes then you don't want users running queries with no indexes.

For data consistency consideration you might have a period of split seconds between the completion of a load and the start of a deletion of a overlapping request that your users might see both requests at the same time. Otherwise the risk of data consistency issues is small.

1. A new request is not available until load completion.

2. This is the risky period between #1 and #3 in your process chain.

3. An old request is not available the moment it is flagged for deletion.

Former Member
0 Kudos

Hi,

I have a similar scenario: loading one request and deleting the previous one;

Cube is aggregated. When the new request is loading, no problem. After this load, the previous request is deleted and the rollup starts; during the rollup obviously the data is not available; and that's a concern.

If the cube wouldn't be aggregated, you would see twice the data during the deletion of the old request.

The requirement is questionable (as Ron explained, BW is dealing with such situations by standard) however I would fulfill it as follows; nevertheless, it could get easily more complicated if for instance all querying should be blocked as well for any Multicube using this cube....

I would use the variable exit for that:

WHEN I_STEP = 3.

IF current query is based on CUBE_IN_QUESTION

AND CUBE_IN_QUESTION is being loaded.

RAISE EXCEPTION.

DISPLAY WARNING MESSAGE "you can't query this cube for the moment"

ENDIF.

this will simply redirect the user to the variable screen with the warning.

hope this helps...

Olivier.

Message was edited by:

Olivier Cora

Former Member
0 Kudos

A way to solve this might be the following:

Give authorizations on this cube in an extra role and create a composite role that contains this role and the role for all the other cubes. When you want to block it, remove the role from the composite role and nobody can access the cube.

Best regards

Dirk

Former Member
0 Kudos

Could this be automated with abap program?