Using Variable values to populate virtual key figure
Hi Gurus,
I want to populate virtual key figure in my report. I am using BADI for this. To populte VKF I want to use the variable values in my calculation. For eg. variable name is ZCAL_MON based on 0CALMONTH. When the user enters some value in this variable say 03.2010 I want to populate VKF for the last 12 months (sum for a period 04.2008 to 03.2009). I have written a customer exit in CMOD for variables but for vkf I am using BADI. Can anyone tell me how do I pass the variable value in populating vkf and also how do I total for the last 12 months?
Utpal
Hi,
Did you find a solution. I'm just looking for the same thing.
best regards..
Similar Messages
-
Assigning variable values in the virtual key figures Badi
Hi,
I'm currently using the virtual chars and key figures RSR_OLAP_BADI to calculate days late as 0NETDUEDATE - sy-datum. This works fine, but the query actually uses variable 0P_KEYDT to determine the key date (set in restricted key figures so not directly).
I want to use this key date variable value rather than the system date to calculate Days Late in the CALCULATE method of the Badi. In the old user exits I could have retrieved the value from internal table i_t_var_range in the variables user exit ZXRSRU01 and stored it globally.
Does anyone know how to get a query variable value within the RSR_OLAP_BADI Badi? I've tried using BAPI_REPPROV_GETVARIABLES but don't know how to pick up the session id to make it work. Is there a BADI equivalent of EXIT_SAPLRRS0_001?
I'm sure one of you out there has the answer!
Thanks,
StuartHi József
Yes I have, I think using SAP's white paper on virtual characteristics and key figures.
My only outstanding question would be: is there a replacement BADI for the variables user exit and if not why not, since BADIs are supposed to be the preferred way now? -
Do we write variable customer exits for virtual key figures in Bex?
Hi all,
Am I thinking the right here " We write variable customer exits in CMOD for virtual key figures in BEx " or am I totally wrong. If thats the case where do we write it.
Thanks,
JBNevermind
-
Problems using virtual key figures
Hi experts,
I have got 2 questions regarding virtual key figures, by using the OLAP BADI
1. Is there a chance to get the variable values out of the variable selection screen in the BADI implemtentation? If so, how?.
2. In the compute method the assign does not work because the Attributes (p_kyf_ZIMCREDAY, p_cha_0material,p_cha_0calday) are 0 all the time.
How does the attribute get a correct assignment to a component name? See my coding of the define and compute method below.
Thanks and Regards, Mario
IF_EX_RSR_OLAP_BADI~DEFINE
DATA: l_s_chanm TYPE rrke_s_chanm,
l_kyfnm TYPE rsd_kyfnm.
FIELD-SYMBOLS:
<l_s_chanm> TYPE rrke_s_chanm.
CASE i_s_rkb1d-infocube.
WHEN 'ZD_IMC001'.
l_s_chanm-chanm = '0MATERIAL'.
l_s_chanm-mode = rrke_c_mode-read.
APPEND l_s_chanm TO c_t_chanm.
l_s_chanm-chanm = '0CALDAY'.
l_s_chanm-mode = rrke_c_mode-read.
APPEND l_s_chanm TO c_t_chanm.
APPEND 'ZIMCREDAY' TO c_t_kyfnm.
ENDCASE.
IF_EX_RSR_OLAP_BADI~COMPUTE
FIELD-SYMBOLS <fs_ZIMCREDAY> TYPE ANY.
FIELD-SYMBOLS <fs_material> TYPE ANY.
FIELD-SYMBOLS : <fs_calday> TYPE ANY.
ASSIGN COMPONENT p_kyf_ZIMCREDAY OF STRUCTURE c_s_data
TO <fs_ZIMCREDAY>.
ASSIGN COMPONENT p_cha_0material OF STRUCTURE c_s_data "p_cha_0material
TO <fs_material>.
ASSIGN COMPONENT p_cha_0calday OF STRUCTURE c_s_data "p_cha_0calday
TO <fs_calday>.Regarding 1.
I checked in debugging the variable I_TH_SFC in the initialize method, but there is no information regarding the selections in the variable popup.
Can you please explain in detail how to access the variable values.
Regarding 2.
I changed l_s_chanm-mode to rrke_c_mode-no_selection according to your recommendation.
Unfortunately it´s still the same. The attributes still does have the value 0. Therefore the assign does not work correct.
The attributes are defined with type i. But the component names are like 'K____132'. Is this the cause of the problem?
Thanks, Mario -
Use of Key Date in Virtual Key Figure Calculation
I have a virtual key figure whose value depends in part on the key date entered by the user. I have the VKF set up with a dummy calculation, and it is working OK.
How do I refer to the value of the key date in the code that assigns the VKF value?
Thanks,
DPFound the answer, thanks to another thread:
Function RRS_VAR_VALUE_FROM_MEMORY_GET with I_VNAM equal to the key date variable returns the value of the key date.
DP -
Issue with Virtual Key Figures Using BADI
Hi,
We are populating values for a few virtual key figures in a query over a multiprovider through a BADI implementation(RSR_OLAP_BADI). On execution the VKF fields appear blank in the report.
We tried debugging the methods of BADI by adding Break-Points in specific points. On doing so, we found that the values are properly updated in the 'Field-Symbols' used in the Compute method, but the same values do not appear in the report result and the fields are blank.
Kindly provide any pointers or suggestions.
Thanks.First check in <b>Technical Information</b> in <b>RSRT</b> , whether the
<b>Virtual Char/Key</b> Fig is<b> Y</b> or <b>N</b>. -
Using Virtual Key Figures/ Characteristics is possible to use in InfoSets
Hi All,
Is it possible Using Virtual Key Figures/ Characteristics is possible to use in InfoSets?
I have tried all the possibilities using the BADI implementation RSR_OLAP_BADI without success.
The VKF / Characteristics works fine when it is being used with a query based on the ODS however it is not populated when i am using the infoset. Moreover i have used the code for InfoSet as well it is not working.
I would appreciate any help in this regard.
Regards
NoorHi PV,
r u sure about that, as i have tried all sort of permutation and combinations for using the same in RSR_OLAP_BADI without any luck.
I have the got felling about the same however if you look into the following SAP note it puts me into doubt.
Note 657690 - Virtual characteristics and key figures in InfoSets
Note 618738 - Virtual characteristics or key figures and InfoSets.
It describe about using the RSR00002.
Many thanks for the information.
Kind Regards
Noor -
Virtual key figure BADI - does not change value
I wrote a badi for virtual key figure according to guidelines from an SDN doc on how to create virtual chars and kf's.
However, the value of the key figure is not changed at all. Below is my code. Please see what I'm doing wrong
method IF_EX_RSR_OLAP_BADI~DEFINE.
APPEND 'ZRANKS' TO c_t_kyfnm.
endmethod.
method IF_EX_RSR_OLAP_BADI~COMPUTE.
if P_KYF_ZRANKS > 0.
assign component p_kyf_zranks of structure c_s_data
to <fs_ranks>.
<fs_ranks> = '1.0'.
endif.
endmethod.There is something you need to do which I have not seen described in any of the documention here.
You need to copy the source code for the INITIALIZE method directly from the code given in the example class CL_EXM_IM_RSR_OLAP_BAPI. That is where the P_KYF<object> and P_CHA<object> attributes are assigned their values. If you do not copy this code into your own implementation, these attributes have no value in the COMPUTE method and your code will probably not work.
Bryan -
Virtual Key Figures using RSR_OLAP_BADI
Hi gurus,
We have been using the RSR_OLAP_BADI to generate some virtual key figures for our queries, now we have a problem creating a virtual key figure...
We have got 4 key figures in the query, 1 is a normal KF and the last 3 are virtuals, one of the virtuals uses the normal KF and splits it between the total of the same KF. The point here is that the calculations are not coming ok because the COMPUTE method does not bring the information summarized as the KF is defined, because in the same structure of the query ther are some formulas that have the same KF restricted to another level of information.
If we remove from the query this formulas, the virtual KF works perfect because the normal KF is delivering the information summarized.
The question is... is it normal that this happened or there may be something wrong in our definition?
Thanks and best regards to all!!!Hi,
You can get number of threads in SDN search.
Check in the following blog
IF_EX_RSR_OLAP_BADI~DEFINE
https://forums.sdn.sap.com/click.jspa?searchID=23657256&messageID=6776739
https://forums.sdn.sap.com/click.jspa?searchID=23657256&messageID=6788064
http://sapbikk.blogspot.com/2008/05/writing-virtual-characteristics-or-key.html
Thanks
Reddy
Edited by: Surendra Reddy on Mar 18, 2009 4:29 AM -
Virtual Key Figure in report giving values
Hi Gurus,
I have created a Virtual Key Figure on a Multi Provide and completed all necessary user-exit coding.
When I run the BEX report for a single material my Key Figure is populating correct values.
But when I run the BEX report for multiple material and if the key figure value is zero it is putting star and due this my result is giving me the wrong value.
Please suggest me what I need to do to correct this.
Thanks,
Saleem.Hi,
Thank you for your responace.
But still i am getting the same error. While displaying on BEX report some rows showing * and some rows showing ERROR after the value.
Please advice me .
Thanks,
Saleem. -
Calculating count of orders using virtual key figures
Hi All,
In my report, i need a counter for the number of distinct orders.
1ROWCOUNT didnt work for me as i want the count of distinct orders alone.
I am planning to use virtual key figure for this..
However, i donno how to code this in ZXRSRU02 and ZXRSRZZZ.
Any help on this would be great!!
Thanks!
- Arun KKShana,
I dont understand your question.
I'll give an eg.
this is how the cube is.
Order | Desc | Location
101 | 'X' | loc01
101 | 'X' | loc02
102 | 'Y' | loc01
103 | 'Z' | loc01
102 | 'Y' | loc02
in the report, i need the o/p to be.
Order | Desc | count
101 | 'X' | 1
102 | 'Y' | 1
103 | 'Z' | 1
i cant use 1rowcount as that counts each row and not the service orders.
Hope this answers your question.
Please let me know if there is a solution for this.
Thanks!
~ Arun KK -
Hi gentlemen,
I am facing a problem with a BADI that I created for populating a virtual key figure.
I simply want to read a masterdata table and populate a key figure. When executing the query, a dump occurs with a very explicit explanation. Unfortunately, I don't know how to solve it.
Dump:
You attempted to assign a field to a typed field symbol,
but the field does not have the required type.
Attributes in the BADI:
P_CHA_0PLANT Instance Attribute Private Type I Plant
P_KYF_ZSHPQTEUT Instance Attribute Private Type I Shipment quantity EUT
See below.
Define:
method IF_EX_RSR_OLAP_BADI~DEFINE.
DATA: l_s_chanm like line of c_t_chanm.
DATA: l_kyfnm TYPE rsd_kyfnm.
CASE i_s_rkb1d-infocube.
WHEN 'ZFM_M01'.
l_s_chanm-chanm = '0PLANT'.
l_s_chanm-mode = rrke_c_mode-read.
APPEND l_s_chanm TO c_t_chanm.
l_kyfnm = 'ZSHPQTEUT'.
APPEND l_kyfnm TO c_t_kyfnm.
endcase.
ENDMETHOD. "if_ex_rsr_olap_badi~define "
Compute:
METHOD if_ex_rsr_olap_badi~compute .
FIELD-SYMBOLS: <fs_ZSHPQTEUT> TYPE /BIC/OIZSHPQTEUT.
FIELD-SYMBOLS: <fs_0PLANT> TYPE /BI0/OIPLANT.
ASSIGN COMPONENT P_CHA_0PLANT OF STRUCTURE c_s_data
TO <fs_0PLANT>.
ASSIGN COMPONENT P_KYF_ZSHPQTEUT OF STRUCTURE c_s_data
TO <fs_ZSHPQTEUT>.
SELECT /BIC/ZSHPQTEUT
INTO <fs_ZSHPQTEUT>
UP TO 1 ROWS
FROM /BI0/PPLANT
WHERE PLANT = <fs_0PLANT>.
ENDSELECT.
ENDMETHOD.
Thank you in advance.
JacquesHi Jacques,
Please include 2 changes:
1. As suggested by Jen, declare Field Symbols with type ANY.
2. Instead of directly using Field symbol values in the select query, create 2 temporary variables of type string and use them.
After changes the method COMPUTE would look like below:
METHOD if_ex_rsr_olap_badi~compute.
FIELD-SYMBOLS: <fs_ZSHPQTEUT> TYPE ANY.
FIELD-SYMBOLS: <fs_0PLANT> TYPE ANY.
ASSIGN COMPONENT P_CHA_0PLANT OF STRUCTURE c_s_data
TO <fs_0PLANT>.
ASSIGN COMPONENT P_KYF_ZSHPQTEUT OF STRUCTURE c_s_data
TO <fs_ZSHPQTEUT>.
DATA tp_shpqty type string.
DATA tp_plnt type string.
IF <fs_0PLANT> is ASSIGNED.
tp_plnt = <fs_0PLANT>.
ENDIF.
SELECT SINGLE /BIC/ZSHPQTEUT
INTO tp_shpqty
FROM /BI0/PPLANT
WHERE PLANT = tp_plnt.
IF <fs_ZSHPQTEUT> is ASSIGNED.
<fs_ZSHPQTEUT> = tp_shpqty.
ENDIF.
ENDMETHOD.
Regards,
Hemant Khemani -
BW : Virtual key figures
Hii experts ,
What are virtual key figures .
Plz explain .
Thanks & regards ,
Madhavi S BichakalDear Madhavi,
Virtual Key figure
virtual key figures are key figures within an InfoProvider that are not filled with data. Instead the key figure value is determined at runtime of the query using custom ABAP coding .
this keyfigure is not populated with the data by using update rules. but this virtual keyfigures will detemine the value only at the runtime of the query.
nomally when we store the key figure value in the cube as we do it for a normnal keyfigure it gives us the fact(Fixed truth ) information but by using virtual keyfigures we can show the present truth in the report.
for example :- let say we have a transaction on 01/01/2007 for material M100 @ price of 100 and on 02/01/2007 the price of material M100 has changed to 200.
when we store price as a normal keyfigure in the cube it will give fact i.e, 100
but if we design the price as a virtual keyfigure it will give out present truth as 200.
Virtual characteristics and Key figures are useful if you want to dynamically pouplate data from the fact table to the field which doesn't have any data in the fact table and also used to build an internal security model before the data gets passed to DATA_PROVIDER.
You can get more information if you review the documentation for enhancement RSR00002.Go to SMOD type in RSR00002 and select the documentation radiobutton..
Some ABAB coding samples:
Virtual Characterstics & Key Figures
Virtual Characteristic problem
how to read characteristic variable value into virtual characteristic
How to implement Virtual Characteristics or Virtual key figures
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/59069d90-0201-0010-fd81-d5e11994d8b5#search=%22SAP%20Customer%20Exit%20virtual%20key%20figure%22
For more info
You can go through the following links.
Virtual Key Figures
sampel code for virtual key figures
Virtual Key Figure - ZXRSRU02
Virtual Keyfigures and Characterisitics
How to implement Virtual Characteristics or Virtual key figures
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/biw/g-i/how%20to%20use%20variable%20time%20references%20in%20currency%20conversion
Search for the keyword virtual keyfigure in the following link :
https://www.sdn.sap.com/sdn/developerareas/bi.sdn?page=BW_How_To.htm
Creating Virtual keyfigures
you create virtual keyfigure just like create normal keyfigure (RSD2),
populate not via transformation/transfer/update rules, but when query execution via user exit, take a look
Virtual Characteristic problem
virtual key figure
http://www.bwexpertonline.com/downloads/Nissen.doc
Also
How to implement Virtual Characteristics or Virtual key figures
Check post by Sree Rama Tata
Hope it helps
Regards
Bala -
Virtual Key Figures its not populated when execute query
Hi All
I did a BADI for populate a Virtual Key Figure, I follow the instructions of link
Link:[http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/60e34f63-f44c-2c10-488e-c89b04e0ca7c?quicklink=index&overridelayout=true]
In addition I add the code section of data declarated on example of: CL_EXM_IM_RSR_OLAP_BADI section define: IF_EX_RSR_OLAP_BADI~DEFINE, only information that said:
DATA: l_s_chanm TYPE rrke_s_chanm,
l_kyfnm TYPE rsd_kyfnm.
FIELD-SYMBOLS:
<l_s_chanm> TYPE rrke_s_chanm.
I test the query on RSRT and the virtual Key Figure is "0.00" this look like if the virtual key figure is not populated.
I did other things like:
Set a Break Point on COMPUTE section of my BADI, I saw that the value is assigned, but I don't know how I can continue reviewing the pass of this value to result of query.
I generate again the query on RSRT.
My code is:
IF_EX_RSR_OLAP_BADI~DEFINE
method IF_EX_RSR_OLAP_BADI~DEFINE.
data: L_S_CHANM type RRKE_S_CHANM,
L_KYFNM type RSD_KYFNM.
field-symbols:
<L_S_CHANM> type RRKE_S_CHANM.
case I_S_RKB1D-INFOCUBE.
when 'ZGTO_OB2'.
append 'ZVIRTKF' to C_T_KYFNM.
endcase.
endmethod.
IF_EX_RSR_OLAP_BADI~COMPUTE
method IF_EX_RSR_OLAP_BADI~COMPUTE.
field-symbols <FS_ZVIRTKF> type any.
P_KYF_ZVIRTKF = 16.
assign component P_KYF_ZVIRTKF of structure C_S_DATA
to <FS_ZVIRTKF>.
<FS_ZVIRTKF> = 10 .
endmethod.
I will appreciate your recommendations, Thanks in advanced.
AlThank you very much Sanganya
I saw this:
I put a break point on P_KYF_ZVIRTKF = 16., then I saw that P_KYF_ZVIRTKF obtain value 16.
Then on sentence: assign component P_KYF_ZVIRTKF of structure C_S_DATA
to <FS_ZVIRTKF> , when the system pass this line, I review the sy-subrc and is equal 4, as I understood the ASSIGN sentence did not be complete, the value shoul be 0.
Then when the system try to run the sentence: <FS_ZVIRTKF> = 10 the system send an Execution error that say: GETWA_NOT_ASSIGNED...
Error analysis
You attempted to access an unassigned field symbol
(data segment 32780).
This error may occur if
- You address a typed field symbol before it has been set with
ASSIGN
- You address a field symbol that pointed to the line of an
internal table that was deleted
- You address a field symbol that was previously reset using
UNASSIGN or that pointed to a local field that no
longer exists
- You address a global function interface, although the
respective function module is not active - that is, is
not in the list of active calls. The list of active calls
can be taken from this short dump.
Exactly the line selected with error is:
>>>> <fs_zvirtkf> = '10.0'.
I will appreciate your help
Thank you
Al -
Virtual Key figure not getting populated
Hi All,
I have included a virtual key figure in a multiprovider on which the query is created and its underlying ODS.
This issue is the virtual key figure is not getting populated . I am not sure what I am missing
I did the following :
1) Tried Debugging - Put a break point and execute the query in RSRT.It did not go to the Exit. I also tried generating the query from RSRT.
I am using the BADI (RSR_OLAP_BADI) to populate the Vir Key Fig.
Please guide me.
Thanks,
HMHi All,
Now that I am able to get the logic to come up in debug. I am faced with another issue.
I am implementing avery simple logic . I added a integer type key figure to the ODS and I am tryin to assign value 1 to the the key figure in the code (I am assigning 1 just ot check if the value is passed to query or not. I do have acomplex logic tha i need to implement).
Here I am able ot see the value in the debug but in the qury the value is not populated.
N ot sure what might be going wrong.
code is
l_z_avg = 1.
<fs_zavglate> = l_z_avg .
Appreciate help.
Thanks,
HM
Maybe you are looking for
-
Help with Sample on Converting an XML string to a byte stream
Hello All,<br /><br />I am sure this is something simple, but I am just not figuring it out right now.<br /><br />I am following the sample - "Converting an XML string to a byte stream" from the developer guide since I want to prepopulate just 1 fiel
-
Nokia Lumia 620 will not reconnect to network auto...
If i am in a location without o2 connection for more than 4 or 5 hours, when i move to an area with good o2 coverage the phone will not reconnect automatically, continues to say "no service".I have to turn phone off and on again and re-enter pin for
-
Best approach... TiledView or regular ViewBean
I'm wondering what approach would be best with JATO and the display I'm trying to build on a JSP page. My page layout will look something like this... Checked Out Items: (none) ToDo Items: 3 InfoDocs 2 Sun Alerts Draft Items: (none) My Docs: 345 Info
-
Links positioned on graphic background. How?
I'm working my way through the Adobe Fireworks CS5 version of "Classroom in a Book" and I've come to an impasse. I'm in Chapter 8, page 199, step #4; the task is to use the CSS and Images Export. At this point we have a web page with seven distinct
-
I have a variable which data type is c(15), and which store the vendor code. It could be 4 digital, 5 digital and so on. I would like to concateneate zero and vendor code, but the vendor code is variants, the mechanism should be 15 - vendor code leng