Virtual Key Figs and Virtual Chars......Perf

Hi,
Can anybody please brief me on Performance Factor will it increase or decrease when you use virtual chars and virtual key figures?
Thanks,
JB

Hi,
Perofrmance decreases with the use of virtual key figures and chars as the values of the objects are calculated at the runtime of the query.
It affects worse if the amount of data thast is going for query processing is huge.
Since using VKF is like calculating at the runtime of the queires by applying the logic needed.
It is only reccomended in the case when the users are having no issue with the performance of the queries and are ready to wait for the output.
Go for it when you have no other option.
Hope it helps
Thanks

Similar Messages

  • Virtual Key figures and Chars

    Can someone explain me what are virtual key figures and how to populate data for them.
    Regards
    Kunal

    AHP,
    Thanks for the help, one last question, i posted same on sdn week back, there was no proper response. I have standard LO datasource and enhanced with around 25 fields, the major problem is none of these fields are delta capable and they are coming from 13 diff tables, with great difficulty i could tie the relation between them. Most of the fields change and none them are picked,
    is there anyway i can write a program for all this fields for delta enabling. The last option which iam left is to load the data every week as full load though data volume is less, which is not practiced.
    Regards
    Kunal

  • Creating BADI for Virtual Key fig: Error: RSR_OLAP_BADI does not exist

    Hi,
    I am following some instructions to test the implementation of virtual key figure and came to the point to create the BADI.
    Intructions on page 5:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e051fda8-71a9-2a10-ac9e-8d17414a8c8c
    SE19
    Create Implementation; New BADI; Enhancement Spot:    RSR_OLAP_BADI
    At this point I get an error that RSR_OLAP_BADI does not exist.
    I then chose at random APB_LAUNCHPAD but this works in the sense that it took me to the next screen
    1. What does it mean by RSR_OLAP_BADI not existing?
    2. I know the instructions points to choose RSR_OLAP_BADI, but why that particular program and how does one gets to know that it is the one to use for virtual key figure/char implementation?
    3. When I tested with APB_LAUNCHPAD, I did not get the same screen on page 5 of the link, is it different for BI 7? Or, am I missing a point?
    Thanks

    Hi,
    thanks for the guidance.
    Yes, I tried to implement exactly as in the article.
    Yes, I defined the filter for the Infoprovider, as ZV*
    Are you suggesting that at this point, if in the method  if_ex_rsr_olap_badi~define, I change the value of
    "ZV_ZIPER" to my DSO or Cube, I should now see the virtual key figure in my query?
    Based on this understanding, I modified the method as follows, (my cube name is 2LIS_11_VASCL):
    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.
    Insert Code
      CASE i_s_rkb1d-infocube.
    CASE i_s_rkb1d-2LIS_11_VASCL.
          WHEN '2LIS_11_VASCL'.
          l_s_chanm-chanm = 'ZVAR_SHPR'.
          l_s_chanm-mode = rrke_c_mode-read.
          APPEND l_s_chanm TO c_t_chanm.
          l_s_chanm-chanm = 'ZVARDT'.
          l_s_chanm-mode = rrke_c_mode-read.
          APPEND l_s_chanm TO c_t_chanm.
          APPEND 'ZV_20DV' TO c_t_kyfnm.
      ENDCASE.
    endmethod. "if_ex_rsr_olap_badi~define
    After activation, I checked the query and still I am not seeing the virtual key figure in the query for selection.
    Any more ideas?
    Thanks
    Edited by: Amanda Baah on May 24, 2009 8:01 AM

  • Documentation How to use Virtual Key fig.

    Hi all ,
    Can u please send me Documentation How to use Virtual Key fig. to [email protected]
    Nice weekend.

    check this doc to get a headsup on Virtual objects - though the doc talks abt the virtual char, the procedure is pretty much similar to KF too.
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/documents/a1-8-4/how%20to%20use%20variable%20time%20references%20in%20currency%20conversion
    How to implement Virtual Characteristics or Virtual key figures

  • Virtual Key Fig/Char RSR_OLAP_BADI/ RSR00002

    Hi guru's,
    I am trying to switch from the customer exit RSR00002 to then new RSR_OLAP_BAPI functionily. However, I can't get it working. What I did:
    1. Created Implementation (SE19) ZTEST
    2. Assigned the infocube
    3. Following code in 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 'ZBBC4W_VK'.
    *     characteristic
          l_s_chanm-chanm = 'Z_TESTJK'.
          l_s_chanm-mode  = rrke_c_mode-no_selection.
          APPEND l_s_chanm TO c_t_chanm.
      ENDCASE.
    ENDMETHOD.
    4. Didn't do any thing in INITIALIZE
    5. Following code in COMPUTE:
    METHOD IF_EX_RSR_OLAP_BADI~COMPUTE .
    field-symbols <l_Z_TESTJK> TYPE ANY.
    if P_CHA_Z_TESTJK > 0.
      assign component P_CHA_Z_TESTJK of structure C_S_DATA to <l_Z_TESTJK>.
      <l_Z_TESTJK> = 'TEST'.
    endif.
    ENDMETHOD.
    6. Assigned the following attribute to the Class in (SE24):
    P_CHA_Z_TESTJK Static Attr Private TYPE i.
    7. Included in the Characteristic Z_TESTJK in the cube
    8. runned the report and expected to see TEST for the CHAR. Instead I get # Not Assigned
    Where did I go Wrong????

    Stephan,
    Thanks for your response. Yes I did but it didn't work.
    I defined it as Private because this is the same as in the SAP document: How to… Realize summarized display of stock values on storage
    Any other tips?

  • Problem with virtual Key Figure in a query

    Hi Experts,
    I would like to share my problem with the virtual key figure in a query:
    I have a query with a virtual key figure and when I eject the query by analyzer, the result sometimes is displayed and sometimes is not displayed (is equal to 0), with the same initials values. And when I eject the query by RSRT always display the result for the virtual key figure.
    Why don't always display the result?
    Thanks a lot

    Hi,
    I think that the problem is the level of support package. We have BI AddOn 7.X (based on 7.20) support package 0.
    What do you think?
    Regards

  • Problems with creating badi implementation for virtual key figures

    Hi,
    I'm running BI 7.0 (unicode).
    I have been trying to follow this blog to calculate the virtual keyfigure in my infoset - Using Virtual Key Figure and Characteris in an InfoSet
    My infoset includes 1 infocube, and 3 master data infoobjects. I have created everything the blog was referring to, and activated fine. However, it seems that when the field symbols are assigned from the c_s_data structure, they do not get referenced correctly, so that no correct memory area is assigned and instead the whole c_s_data structure is assigned to the field symbol, which prevents me from referencing the right mem area correctly.
    For example, in this statement
    ASSIGN COMPONENT P_CHA_ZMYINFOSET___F120 OF STRUCTURE c_s_data
                                                                           TO  <fs_ZMYINFOSET___F120>.
    the component p_cha_zmyinfoset___F120 of c_s_data supposed to be assigned to the field symbol (point to the correct place in structure c_s_data). In other words when this statement is executed, the program looks at structure c_s_data, finds the component zmyinfoset___F120 in it, and assignes the position of that component in the structure to the field symbol, so that it could be referenced in the code. However, the correct assignment does not happen.
    When I debug the code and view the structure c_s_data, I can never find any component with any of the names I can find in my BEX query like ZMYINFOSET___F120. All I see are the components that are named like these: Z____5179 (C_S_DATA-Z____5179), C_S_DATA-S____5150, etc. I see the correct values, but components all have weired names like that. I thought in Infosets the components are named in the following fashion: INFOSETNAME___FXXX which you can see from your BEX query designer. Why is this happening? Why don't I see the correct names in the c_s_data structure? If instead I try to assign those components with their weired names directly, I still get incorrect assignment.
    what am I doing wrong?
    I was reading abap help on this statement:  assign COMPONENT comp OF STRUCTURE struc
    and the following I found:
    With this expression for mem_area, the memory area of a component comp of a structure struc is assigned to the field symbol. While the structure struc is specified directly, a data object must be specified for comp. The evaluation depends on the data type of comp:
    If the field comp has a non-text, elementary type, the content is converted to the type i and interpreted as a position of the component in the structure. if the value for comp is 0, the storage area of the entire structure is assigned to the field symbol.
    From what it says above, my value for comp is always 0, so that the entire structure is always assigned to my field symbol instead of a specific position in that structure.
    please let me know what is wrong here.
    thanks.
    Edited by: AG on Oct 11, 2008 10:41 AM
    Edited by: AG on Oct 11, 2008 10:42 AM

    Hi,
    I am facing the similar issue. Can you please tell me how you solved this problem in more details?
    which sample code and how u can find that in SE24 and where to copy that code.
    Thanks in advance..
    vamsi.

  • BW : Virtual key figures

    Hii  experts  ,
    What are virtual key figures .
    Plz explain .
    Thanks & regards ,
    Madhavi S Bichakal

    Dear 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

  • Creating a Master virtual hard disk and using the same for all other VM's

    Hi,
    We would like to create a master virtual hard disk and use the same for all other VM's. Can we do that ?
    my requirements :
    1) create 10 VM's
    2) first create a master virtual hard disk with win OS and use the same to create the 10 VM's.
    3) After creating the VM's change the HDD size.
                  -- if i have created master virtual disk with 500GB , and use the same for creating a virtual machine. can we change the HDD size to 1TB ?
    After creating the VM's ,i will change the system names and activate the windows accordingly.
    Will there be any implications ,if we can/will do like this.
    Thanks.

    Hi Suren424,
    I think Using Differencing Disks may cover your needs .
    Please refer to following setps:
       "Create the Parent Virtual Machine Configuration and Virtual Hard Disk
        Install the Operating System, updates, and common software
        Generalize the installation
        Prepare the parent virtual hard disk
        Create the differencing disks
        Create virtual machines that use the differencing disks
    For details please refer to follwing link:
    http://social.technet.microsoft.com/wiki/contents/articles/1393.hyper-v-virtual-machine-vm-parent-child-configuration-using-differencing-disks.aspx
    Hope this helps
    Best Regards
    Elton Ji
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • Restrict Key Fig Value

    Hi,
    I have  two key fig which i want restrict with between value of that key fig and after i want to take that count of the both key fig.
    Ex
    Quantity -
    in between 10 - 20---its count
    Quantity---in between 40 - 80---its count
    Can any one help this
    Thanks
    Rama

    You can create Formula Key Figures for each of this range. Use the Boolean Operators in your formula as below.
    FKF1 : ( 'Quantity' <= 10 ) OR ( 'Quantity' >= 20 )
    FKF2 : ( 'Quantity' <= 40 ) OR ( 'Quantity' >= 80 ).
    And in the propeties of the key figure make the setting, calculate result as summation.

  • Virtual chars/key figs

    Hi BW gurus--
    Let me know the Purpose of Virtual chars and key figs.
    also how to handle and how to create the same.
    Regards,
    Rambo.

    Hi Rambo,
    virual chars/key figs are normally created infoobjects. They will be added to a provider, but there is no value posted to them in the provider. They will stay initial. In the relevant user exit (enhancement rsr000001) you have to implement the coding to populate the values during runtime of your query.
    You can use them
    a) to show movements without having any data posted to your provider (e.g. you can set a flag identifying a sales order for 'in time', 'due' or 'late' if you compare the run date of the query with the desired delivery date of the customer. Of course for order without having the status 'delivered'.)
    b) to create flexible classifications (e.g. sales orders amounts: 0 - 100 = class A, 101 - 1000 = class B.... if you want to change the classification based on the amounts you have to use virtual infoobjects)
    Hope this helps!
    regards
    Siggi

  • Can I install Linux and then use the original Windows 8 OEM product key for a virtual machine on the same computer?

    I have ordered a new laptop and expect to receive it in 2-3 weeks.  The laptop comes with an OEM version of Windows 8 installed.  I wish
    to install Linux as the host operating system and create a virtual machine running Windows 8.  Can I legally use the product key from the OEM installation to activate a virtual machine that will only be used on the laptop that had the original OEM installation? 
    If so, what is the procedure to activate the copy installed on the virtual machine?
    This question has been addressed for Windows 7, but my searches did not reveal this question posed for Windows 8.

    Technically, no.  The OEM is licensed only for the physical hardware on the system.  It isn't licensed for virtual hardware.
    You may find you're unable to activate your OEM license in the VM.  A lot of OEM Windows look for specific hardware to verify they're being installed on the correct hardware.
    Although here: http://www.microsoft.com/oem/en/Pages/support-faq.aspx#fbid=Zh0SiBdas5I
    Q. Can I install OEM on a virtual machine (VMware)?
    A. You may install OEM in a virtual environment as long as you have a separate license for each instance of the software. It is fine to use the OEM version as long as it is properly licensed. To be clear, a separate version of software must be installed
    for both the “standard” and “virtual” installations.
    You still may not be able to activate if there is a hardware block.
    The best place to ask this is to Microsoft licensing, any response you get here, including mine, won't hold up since it's not an official answer.
    Q. Can I install OEM on a virtual machine (VMware)?
    A. You may install OEM in a virtual environment as long as you have a separate license for each instance of the software. It is fine to use the OEM version
    as long as it is properly licensed. To be clear, a separate version of software must be installed for both the “standard” and “virtual” installations.
    edit: removed the duplicate Q&A

  • Keybd_event with third party Virtual Key and WM_KEYDOWN

    Hi All,
    I want to use keybd_event() to send this third party virtual key called VK_OEM_CLR or 0xF5 to other application.
    Third party header file defined:
    #define VK_OEM_CLR 0xF5
    The application that sends the key:
    keybd_event(VK_OEM_CLR , 0, KEYEVENTF_EXTENDEDKEY, 0);//try this, but other application does not receive WM_KEYDOWN
    keybd_event(0xF5 , 0, KEYEVENTF_EXTENDEDKEY, 0);//try this, but other application does not receive WM_KEYDOWN
    The other application that will receive the sending key:
    LRESULT CALLBACK LLKbdProc(int nCode, WPARAM wParam, LPARAM lParam);
    HHOOK kbdhk;
    int quit = 0;
    HINSTANCE m_hHookApiDLL = NULL;
    typedef LRESULT (CALLBACK* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam);
    typedef HHOOK (__stdcall *SetWindowsHookExW)(int, HOOKPROC, HINSTANCE, DWORD);
    typedef LRESULT (__cdecl *CallNextHookEx)(HHOOK, int, WPARAM, LPARAM);
    typedef LRESULT (__cdecl *UnhookWindowsHookEx)(HHOOK);
    static SetWindowsHookExW m_pfSetWindowsHook;
    static CallNextHookEx m_pfCallNextHook;
    #define WH_KEYBOARD_LL 20
    typedef struct {
    DWORD vkCode;
    DWORD scanCode;
    DWORD flags;
    DWORD time;
    ULONG_PTR dwExtraInfo;
    } KBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT;
    void Dbg( TCHAR * lpszFormat, ... )
    TCHAR szOutput[1024];
    TCHAR * pOutput = szOutput;
    va_list v1;
    DWORD dwSize;
    // Now do the normal printf stuff...
    va_start( v1, lpszFormat );
    dwSize = ::wvsprintf( pOutput, lpszFormat, v1 );
    va_end( v1 );
    OutputDebugString(szOutput);
    _tprintf(szOutput);
    LRESULT CALLBACK LLKbdProc(int nCode, WPARAM wParam, LPARAM lParam)
    KBDLLHOOKSTRUCT *pKeyBoard = (KBDLLHOOKSTRUCT *)lParam;
    switch( pKeyBoard->vkCode )
    case 245://VK_OEM_CLR,0xf5,245
    switch(lParam)
    case WM_KEYDOWN:
    Dbg(_T("receives VK_OEM_CLR, hex 0xf5, decimal 245 on WM_KEYDOWN\r\n"));
    return 1;
    case WM_KEYUP:
    Dbg(_T("receives VK_OEM_CLR, hex 0xf5, decimal 245 on WM_KEYUP\r\n"));
    return 1;
    default:
    Dbg(_T("receives VK_OEM_CLR, hex 0xf5, decimal 245 \r\n"));
    break;
    return 1;
    break;
    default: // no processing on this key
    Dbg(_T("switch-case: Unknown key\r\n"));
    return m_pfCallNextHook( NULL, nCode, wParam, lParam );
    return 0;
    int main()
    m_hHookApiDLL = LoadLibrary(L"coredll.dll");
    if(m_hHookApiDLL != NULL)
    HINSTANCE appInstance = GetModuleHandle(NULL);
    m_pfSetWindowsHook = (SetWindowsHookExW)GetProcAddress(m_hHookApiDLL,L"SetWindowsHookExW");
    kbdhk = m_pfSetWindowsHook(WH_KEYBOARD_LL, LLKbdProc, NULL, 0);
    if (!kbdhk)
    Dbg(_T("WH_KEYBOARD_LL FAILED.\r\n"));
    return -2;
    //Dbg(_T("Message Pump... Listening...\r\n"));
    MSG msg;
    while(GetMessage(&msg, NULL, 0, 0) > 0)
    if (quit) break;
    TranslateMessage(&msg);
    DispatchMessage(&msg);
    return 0;
    The application that receives the key, always catch the virtual key for VK_OEM_CLEAR, but there is no WM_KEYDOWN.  Am I doing something wrong?

    That is it.. Thank you so much.  other cases I use wParam,
    but overlook for this case.

  • 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>.

  • Access on aggregated levels with virtual key figures

    Hi all,
    I need access to the aggregated view of a BEx report within user-exit RSR00002 for processing virtual key figures. Currently I only get access to the lowest non-aggregated level.
    My requirements in detail:
    I get certain key-figures (250 historical values)on the lowest aggregation level - so-called folders. Then I have to aggregate this vector of values at the next hierarchy level up to the top-level, say along-side a company's business department structure. Drill-down, slice&dice should be possible. So far so good - this is done easily with standard BEx features.
    Then, on each aggregation level, i.e. hierarchy node, I need to get the third lowest of the 250 aggregated values to assign this to my vkf. This is not an issue of the algorithm but of the internal data representation or access to the OLAP processor because I don't get this vector on the same aggregated level such as I could see it in my BEx report but on the lowest non-aggregated folder level.
    The question is now:
    a. Is data access on aggregated levels and drill-downs because of the internal representation generally not possible within this user-exit and would I have to supply the aggragation logic myself or
    b. do I have overlooked something critical - did I miss the trick?
    Every idea or hint is deeply welcome!!
    Thanks a lot,
    Michael
    Message was edited by: Michael Kronenberger

    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>.

Maybe you are looking for

  • Open a Crystal Report preview using a button

    Hello. I need to open a Crystal Report preview using a button from my add-on. I've already created my report, so I need to create the object, pass the parameters and open an screen with my preview. Does anyone has a C# example? Thank you.

  • Do you have problems updating photo names in iPhoto?

    It is an absolute nightmare.  Every other photo the edit name function just stops working.  It makes updating my names a big pain in the rear end.

  • How to include header files with different extensions

    Hi, When i include a header file with extension .ch (myincludefile.ch), the compiler gives error messages but when i change the extension to .h, the problem disappears. Can anyone help me getting rid of this problem? For example, for the line below,

  • Attaching ipages documents

    I'm a relatively new Apple user and am puzzled about saving ipages documents. I've done so successfully and then stored them in my documents folder. However, when attempting to email any of those documents, any of my ipages documents cannot be attach

  • ACFS confusion...

    Guys- I am a little bit in a fix here- We have the same version of oracle software running on 2 systems (say box1 and cluster1). When I run the following command; I get 2 different responses- the only difference is box1 is a single node system (non c