cancel
Showing results for 
Search instead for 
Did you mean: 

Adding a new characteristic without reloading cube

Former Member
0 Kudos

Hello,

I would like to know how to add a new characteristic in a loaded cube. I would be creating a new field in the cube derived from an existing InfoObject in the cube.

The idea is derive the value from one InfoObject to a new InfoObject without reloading the whole cube.

Let me give you an example:

Having existing InfoObject in the cube: ZTASK which value is “CSRPOW004”

New InfoObject: ZDERIVED = “C” that would be obtained by using Abap ZTASK(1) in the cube update rule.

This was my first idea. But I do not know how to do it without reloading the cube.

Do you have any other ideas: Query Customer Exit, Abap program, etc?

Any help would be much appreciated.

Thank you.

Regards,

Alex

Message was edited by: Alexandra Carvalho

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello Alexandra,

the only possibility to post values to this new characteristic without reloading the cube is, to use the user exit for virtual characteristics and populate the field based on your source field. But in fact, there will be no value for the field in the cube, you can only see these values in the queries.

If you need further informations, feel free to ask.

regards

Siggi

Former Member
0 Kudos

Hello Siggi,

Thank you for that.

I have never done it before. Could please let me know how I could do it?

Which user exit I could be enhancing?

Thank you very much.

Regards,

Alex

Message was edited by: Alexandra Carvalho

Former Member
0 Kudos

Hi Alex,

therefore, a few includes need to be modified. Here is a list:

include zxrsrzzz.

include zxrsrtop.

include zxrsru02.

Now the changes to implement:

----


  • INCLUDE ZXRSRU02

*

----


data: l_s_chanm type rrke_s_chanm.

case i_s_rkb1d-infocube.

when 'Name of your Cube'.

l_s_chanm-chanm = 'Name of your first characteristic'.

l_s_chanm-mode = rrke_c_mode-read.

append l_s_chanm to e_t_chanm.

l_s_chanm-chanm = 'Name of your new characteristic'.

l_s_chanm-mode = rrke_c_mode-no_selection.

append l_s_chanm to e_t_chanm.

endcase.

----


  • INCLUDE ZXRSRTOP

*

----


data: g_pos_<name of your cube>_<name of your first characteristic> type i.

data: g_pos_<name of your cube>_<name of your new characteristic> type i.

----


  • INCLUDE ZXRSRZZZ

*

----


form user_<name of your cube>

using i_s_rkb1d type rsr_s_rkb1d

changing c_s_data type any.

field-symbols: <l_nameofyourcharacteristic> type /bic/oipmorgune4,

<l_nameofyournewcharacteristic> type /bic/oipmorgvir.

assign component g_pos_<nm of cube>_<nm of char>

of structure c_s_data to <l_nameofyourcharacteristic>.

assign component g_pos_<nm of cube>_<nm of new char>

of structure c_s_data to <l_nameofyournewcharacteristic>.

<l_nameofyournewcharacteristic> = <l_nameofyourcharacteristic>(1).

endform.

Hope this helps!

regards

Siggi

PS: don't forget to assign some points to the guys that help you!

Former Member
0 Kudos

Hello Sigi,

Could you please tell me how I can be assigning the points to you guys?

Thank you very much for all the help.

Regards,

Alex

Former Member
0 Kudos

Hi Alexandra,

just click on the stars in the messages, you get the choice between helpful or very helpful answer or solved problem.

kind regards

Siggi

Former Member
0 Kudos

Hello Siggi,

I created the InfoObject ZVIRTUAL, added it in the cube dimension and in the cube update rules. I have also updated the User Exit and includes.

How can we identify this InfoObject as being created by a User Exit? I think I am missing something.

Thanks heaps,

Alex

Message was edited by: Alexandra Carvalho

Former Member
0 Kudos

Hi Alexandra,

you don't need to mark the InfoObject as virtual. As long as the user exit works it is automatically overwritten.

BTW I strongly suggest not using Siggi's exit anymore. If you have already done it it's ok but for further use you should switch to the BAdI RSR_OLAP_BADI.

Best regards

Dirk

Former Member
0 Kudos

Hi Dirk,

I just named the Info Object as “ZVIRTUAL” in the cube. Then I assigned it to a dimension and in the cube update rules I used the “Method” blank.

The user exit is still not working. Am I doing something wrong?

Regarding the use of BADI, I will investigate further to see how I could be using it as I have never used it before.

Thank you.

Regards,

Alex

Former Member
0 Kudos

Hello guys,

Thank you for all the help. The virtual characteristic is working fine.

Regards,

Alex

Message was edited by: Alexandra Carvalho

Message was edited by: Alexandra Carvalho

Answers (0)