Usage of SAPBEX.XLA!SAPBEXSetFilterValue with hierarchies

I am trying to set a filter value for my query automatically with vba using the Run("SAPBEX.XLA!SAPBEXSetFilterValue) function. The Filter Value i want to select should be selected as a node from a certain characteristic hierarchy therefore i am runnign the following command:
run("SAPBEX.xla!SABBEXSetFilterValue", myValue, myHierarchy, "B3")
Unfortunately this doesnt work. The result is that no filter value is set at all.
Could anyone help me out with this?

Hi Suresh,
Sorry to keep correcting myself.  Now I have been able to recreate the problem.  My first post was correct ... at least in part.  My second post is also correct (I think), as far as I can tell there is no function named "repoNewQuery".
I did recall seeing this error before.  And it did occur for me because my SAP GUI was not correctly loaded.  So, you might still want to check your installation as described in my first posting, about 3 hours ago.
If my theory is correct, the title of the BW toolbar you are seeing is "xxxSAPBEXxxx" instead of the usual title of "Business Explorer" (at least the English version; it might have a different title in other languages).
Here is my theory ... when the BEx Analyzer (sapbex.xla) is loaded, it loads a toolbar named "xxxSAPBEXxxx".  Some sort of Auto_Open macro also runs, which displays the splash screen and fixes the toolbar.  Part of fixing the toolbar is changing its name and re-mapping the OnAction macro for the buttons on the toolbar.
If something prevents this Auto_Open macro from running (in my case it was incorrect versions of files, in your case because you have disabled Auto_Open macros somehow?), then the toolbar is not renamed and the buttons are not mapped correctly.
I have no idea why changing a macro setting in Word would affect an Auto_Open macro in Excel.  But, I will be very interested in reading what you find out.
- Pete

Similar Messages

  • Passing a range to SAPBEX.XLA!SAPBEXSetFilterValue

    Hello
    I need to pass a range of fiscal periods to the following function:
    Run("SAPBEX.XLA!SAPBEXSetFilterValue", myFilter, "", myRange)
    When 'myfilter' is a single value, I pass a fiscal period, which is a concatenation of fiscal variant(lets say Z9) and the period (lets say 2005001), which is Z92005001. The filter works properly.
    However, I am unable to pass a range of fiscal period to 'myfilter. Any help is highly appreaciated.
    regards,
    Bincy

    Hi Bincy,
    Sorry that I am so late in responding.  I hope that the reference Kenneth send was helpful.  I'd like to add something to that.
    The reference that Kenneth forwarded addresses setting multiple filter values.  In your case, you might want to set a range instead of setting multiple, individual values.
    In this case, the steps are similar, but with one important difference:
    1.  use the SAPBEXsetFilterValues function to set the intial filter
    2.  search the SAPBEXfilters worksheet to find the filter value that was just set
    3.  change the cell in column HG from "EQ" to "BT"
    4.  add the other end of the range to cells in columns HI and HK.
    - Pete

  • Sapbex.xla!toolsEdit error with BEx Analyzer

    I get 'sapbex.xla!toolsEdit' error when i try to run BEx Analyzer.
    Anybody has faced this problem.
    Thanks
    Arun

    Arun,
    possible that your SAP GUI was not properly installed and also that macros are enabled in the system...
    Please give your front end SP levels..
    Arun
    Hope it helps...

  • Vba-excel crashes ???  SAPBEX.XLA ?

    Hi Experts,
    I am trying to code again in VBA for my workbook.  I have got a piece of code which is for a push button.  Everytime I refresh the query in the workbook, the whole thing crashes.   Although, what I am confused is, everytime I click on SAPBEX.xla in VB editor, it asks me for a password...so I'm not sure to use SAPBEX.xla actually in the code or replace it with something else ? Below is the code I'm using.
    Sub Button1_Click()
        Dim myState As Integer
        Dim myFilterCell As Range: Set myFilterCell = ActiveSheet.Cells(10, 3)
        Run <b>"SAPBEX.XLA!SAPBEXgetDrillState"</b>, myState, myFilterCell
        myState = Run("SAPBEX.XLA!SAPBEXgetDrillState_currentState")
        If myState = 0 Then
            Run "SAPBEX.XLA!SAPBEXsetDrillState", 1, myFilterCell
        Else
            Run "SAPBEX.XLA!SAPBEXsetDrillState", 0, myFilterCell
        End If
    End Sub
    Thanks for all the help in advance.
    Regards,
    BBM

    Never mind.  I figured it out.

  • 'sapbex.xla!reponewQuery' can not be found?

    hi all
    When we are logging to Bex its giving pop-ups as "the macro 'sapbex.xla!reponewQuery' can not be found".
    Thanks in advance
    Rajesh

    Hi
    If I got your question properly, the problem is most likely an GUI - BEx Front End installation problem. May be the sapbexc.xla file has been corrupted.
    Go to the folder that contains the BI front end. Look for a file named "sapbexc.xla". Note that there are several files with very similar names. You want the one that ends in "c" for "check" installation.
    Double-click to open that file. Then, click the "Start" button at the top left. This should tell you exactly what is missing, or has an incorrect version.
    Hope it helps and clear
    the macro 'sapbex.xla!reponewquery'  cannot be found

  • The macro 'sapbex.xla!reponewquery' cannot be found

    Hello everybody!
    I am getting an error message 'The macro sapbex.xla!repoNewQuery cannot be found'. And it continues with all other icons in the BEx toolbar in excel. What should I do now?
    (I have deleted all the saplogon and installed it again !
    My Excel edition is 2003 and the degree of macro is low!)
    your early help would be appreciated.

    In your system, if Analyzer works fine for one type of user and not working for other users, that means something prevents the Auto_Open macro from running. Because of that the toolbar is not renamed and the buttons are not mapped correctly. We just want to inform you that there is no problem with
    Installtion as well as Analyzer. The problem is with user login. It may be due to the settings in HKEY_CURRENT_USER.
    Exd files cache activeX component information. If the component changes without removing the exd file (which created when the component is first used), then the system will be out of sync.
    Go into a command prompt and type the following DOS commands:
    > CD \Document And Settings
    > DEL /S /A:H /A:-H *.EXD
    Thanks
    Ezhil

  • Report  performance with Hierarchies

    Hi
    How to improve query performance with hierarchies. We have to do lot of navigation's in the query and the volume of data size very big.
    Thanks
    P G

    HI,
    chk this:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/1955ba90-0201-0010-d3aa-8b2a4ef6bbb2
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/ce7fb368-0601-0010-64ba-fadc985a1f94
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/4c0ab590-0201-0010-bd9a-8332d8b4f09c
    Query Performance – Is "Aggregates" the way out for me?
    /people/vikash.agrawal/blog/2006/04/17/query-performance-150-is-aggregates-the-way-out-for-me
    ° the OLAP cache is architected to store query result sets and to give all users access to those result sets.
    If a user executes a query, the result set for that query’s request can be stored in the OLAP cache; if that same query (or a derivative) is then executed by another user, the subsequent query request can be filled by accessing the result set already stored in the OLAP cache.
    In this way, a query request filled from the OLAP cache is significantly faster than queries that receive their result set from database access
    ° The indexes that are created in the fact table for each dimension allow you to easily find and select the data
    see http://help.sap.com/saphelp_nw04/helpdata/en/80/1a6473e07211d2acb80000e829fbfe/content.htm
    ° when you load data into the InfoCube, each request has its own request ID, which is included in the fact table in the packet dimension.
    This (besides giving the possibility to manage/delete single request) increases the volume of data, and reduces performance in reporting, as the system has to aggregate with the request ID every time you execute a query. Using compressing, you can eliminate these disadvantages, and bring data from different requests together into one single request (request ID 0).
    This function is critical, as the compressed data can no longer be deleted from the InfoCube using its request IDs and, logically, you must be absolutely certain that the data loaded into the InfoCube is correct.
    see http://help.sap.com/saphelp_nw04/helpdata/en/ca/aa6437e7a4080ee10000009b38f842/content.htm
    ° by using partitioning you can split up the whole dataset for an InfoCube into several, smaller, physically independent and redundancy-free units. Thanks to this separation, performance is increased when reporting, or also when deleting data from the InfoCube.
    see http://help.sap.com/saphelp_nw04/helpdata/en/33/dc2038aa3bcd23e10000009b38f8cf/content.htm
    Hope it helps!
    tHAK YOU,
    dst

  • Error while working with hierarchical profiler

    Hi,
    I am working with hierarchical profiler for the first time in SQL Developer 3.0.
    When I open a procedure and click the Profile icon, I get the following error "Directory exists;check if /tmp exists on file system, and oracle has permissions to write there".
    Any help on this is appreciated.
    Edited by: 836760 on Feb 14, 2011 11:24 PM

    Hi,
    I am working with hierarchical profiler for the first time in SQL Developer 3.0.
    When I open a procedure and click the Profile icon, I get the following error "Directory exists;check if /tmp exists on file system, and oracle has permissions to write there".
    Any help on this is appreciated.
    Edited by: 836760 on Feb 14, 2011 11:24 PM

  • Problem with Hierarchical query

    Gurus,
    I have a problem with hierarchical query, which I am pasting below.
    select sys_connect_by_path (Fname,'/')"PATH",Fname,id,level
    ,(SELECT COUNT(ID)-1 FROM (SELECT CONNECT_BY_ROOT LNAME LNAME,ID FROM CMT_PERSON
    START WITH ID = 'emplo000000000126009'
    CONNECT BY PRIOR ID=MANAGER_ID)
    GROUP BY FNAME)"COUNT"
    from CMT_PERSON
    WHERE
    LEVEL <= 4
    ----And ID='emplo000000000001877'
    CONNECT BY PRIOR id=manager_id
    ----AND NOT LEVEL > 3
    START WITH ID='emplo000000000126009'
    As per the result, count is getting repeated for all the levels. That is, count is coming 16100 for every level, Can you please help where exactly I am going wrong
    Regards

    You do not say anything about what count you want to get?
    A wild guess could be:
    select
       sys_connect_by_path (p1.fname, '/') "PATH",
       p1.fname,
       p1.id,
       level,
       (select count (id) - 1
        from
           (select connect_by_root p2.lname lname, p2.id
            from cmt_person p2
            start with p2.id = p1.id
            connect by prior p2.id = p2.manager_id)
        ) "COUNT"
    from cmt_person p1
    where level <= 4
    connect by prior p1.id = p1.manager_id
    start with p1.id = 'emplo000000000126009';Since your inner query simply starts with the hardcoded employee id, naturally it will give you the same count.
    My guess is your inner query should start with the person id from the outer query?
    If that is not the case - please state in plain english what you are trying to accomplish ;-)
    (Oh, and please paste code within tags so we can read it more easily...)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • How create HTML-list with hierarchical query?

    Hello all!
    I have table HIE (name,id,par) with hierarchical structure (par=id)
    As sample:
    select name
    FROM hie
    CONNECT BY PRIOR id=par
    START WITH par=0
    Root
    Branch 1
    Lief 11
    Lief 12
    Bracnh 2
    I need to create html-list from this table.
    How can I select from that table the structured output with TAGs "UL" "LI":
    <ul><li>root
    <ul>
    <li>branch 1
    <ul>
    <li>lief11</li>
    <li>lief12</li>
    </ul>
    </li></ul>
    <ul>
    <li>branch 2</li></ul>
    </li></ul>
    Sql-Guru, please, help!
    Message was edited by:
    natalia.demidchick
    Message was edited by:
    natalia.demidchick
    Message was edited by:
    natalia.demidchick
    Message was edited by:
    natalia.demidchick
    Message was edited by:
    natalia.demidchick

    Yes there was a mistake
    Try this. It should be good
    Processing ...
    CREATE TABLE TAB_A AS (
         SELECT 'ROOT' AS NAME,1 AS ID,NULL AS PARENT FROM DUAL
         UNION ALL
         SELECT 'BRANCH1' AS NAME,2 AS ID,1 AS PARENT FROM DUAL
         UNION ALL
         SELECT 'BRANCH2' AS NAME,3 AS ID,2 AS PARENT FROM DUAL
         UNION ALL
         SELECT 'LIEF1' AS NAME,4 AS ID,2 AS PARENT FROM DUAL
         UNION ALL
         SELECT 'LIEF2' AS NAME,5 AS ID,2 AS PARENT FROM DUAL
         UNION ALL
         SELECT 'BRANCH3' AS NAME,6 AS ID,1 AS PARENT FROM DUAL
         UNION ALL
         SELECT 'LIEF3' AS NAME,7 AS ID,2 AS PARENT FROM DUAL
         UNION ALL
         SELECT 'BRANCH5' AS NAME,8 AS ID,1 AS PARENT FROM DUAL
         UNION ALL
         SELECT 'LIEF4' AS NAME,9 AS ID,8 AS PARENT FROM DUAL
         UNION ALL
         SELECT 'LIEF5' AS NAME,10 AS ID,3 AS PARENT FROM DUAL
         UNION ALL
         SELECT 'LIEF6' AS NAME,11 AS ID,3 AS PARENT FROM DUAL
    Processing ...
    SELECT *
    FROM TAB_A
    Query finished, retrieving results...
       NAME                      ID                                   PARENT                
    ROOT                                            1                                       
    BRANCH1                                         2                                      1
    BRANCH2                                         3                                      2
    LIEF1                                           4                                      2
    LIEF2                                           5                                      2
    BRANCH3                                         6                                      1
    LIEF3                                           7                                      2
    BRANCH5                                         8                                      1
    LIEF4                                           9                                      8
    LIEF5                                          10                                      3
    LIEF6                                          11                                      3
    11 row(s) retrieved
    Processing ...
    CREATE GLOBAL TEMPORARY TABLE TEMP_TAB AS (
         SELECT LEVEL AS LV,ROWNUM AS RN,A.*
         FROM TAB_A A
         WHERE (1=0)
         START WITH PARENT IS NULL
         CONNECT BY PRIOR ID = PARENT
    Processing ...
    INSERT INTO TEMP_TAB
         SELECT LEVEL AS LV,ROWNUM AS RN,A.*
         FROM TAB_A A
         START WITH PARENT IS NULL
         CONNECT BY PRIOR ID = PARENT
    11 row(s) inserted
    Processing ...
    SELECT *
    FROM TEMP_TAB
    Query finished, retrieving results...
                      LV                                     RN                      NAME                      ID                                   PARENT                
                                         1                                      1 ROOT                                            1                                       
                                         2                                      2 BRANCH1                                         2                                      1
                                         3                                      3 BRANCH2                                         3                                      2
                                         4                                      4 LIEF5                                          10                                      3
                                         4                                      5 LIEF6                                          11                                      3
                                         3                                      6 LIEF1                                           4                                      2
                                         3                                      7 LIEF2                                           5                                      2
                                         3                                      8 LIEF3                                           7                                      2
                                         2                                      9 BRANCH3                                         6                                      1
                                         2                                     10 BRANCH5                                         8                                      1
                                         3                                     11 LIEF4                                           9                                      8
    11 row(s) retrieved
    Processing ...
    SELECT --LV,RN,1+(NVL(LAG(LV) OVER ( ORDER BY RN ASC),0)-LV+1) step,
         --lead(LV) OVER ( ORDER BY RN ASC NULLS LAST) next_lev,
         decode (lv-1,nvl(LAG(LV) OVER ( ORDER BY RN ASC),0),'<UL>','')||
         '<LI>'||NAME||'</LI>'||
         replace(
         RPAD(chr(10),1+(lv-NVL(lead(LV) OVER ( ORDER BY RN ASC),0))*5,'</UL>'),
         chr(10),
         ) AS HTML
    FROM TEMP_TAB A
    ORDER BY RN ASC
    Query finished, retrieving results...
                                          HTML                                      
    <UL><LI>ROOT</LI>                                                               
    <UL><LI>BRANCH1</LI>                                                            
    <UL><LI>BRANCH2</LI>                                                            
    <UL><LI>LIEF5</LI>                                                              
    <LI>LIEF6</LI></UL>                                                             
    <LI>LIEF1</LI>                                                                  
    <LI>LIEF2</LI>                                                                  
    <LI>LIEF3</LI></UL>                                                             
    <LI>BRANCH3</LI>                                                                
    <LI>BRANCH5</LI>                                                                
    <UL><LI>LIEF4</LI></UL></UL></UL>                                               
    11 row(s) retrieved
    Processing ...
    DROP TABLE TAB_A PURGE
    Processing ...
    DROP TABLE TEMP_TAB
    SELECT LV,RN,1+(NVL(LAG(LV) OVER ( ORDER BY RN ASC),0)-LV+1) step,
         lead(LV) OVER ( ORDER BY RN ASC NULLS LAST) next_lev,
         decode (lv-1,nvl(LAG(LV) OVER ( ORDER BY RN ASC),0),'<UL>','')||
         '<LI>'||NAME||'</LI>'||
         replace(
         RPAD(chr(10),1+(lv-NVL(lead(LV) OVER ( ORDER BY RN ASC),0))*5,'</UL>'),
         chr(10),
         ) AS HTML
    FROM TEMP_TAB A
    ORDER BY RN ASC
    /Bye Alessandro

  • Troubles when trying to transfer a table with hierarchical column to a tree

    In WD for ABAP, I encounter many troubles when trying to transfer a table with hierarchical column to an actual tree. In my UI, the tree is in the left pane and the detail for a node is in the right.
    1. With hierarchical table, I can bind the dataSource of the table directly to the context node in View which is mapped to a context node in component controller which is a DDIC structure. But with a tree, is it possible to map the dataSource of the tree or node in tree to context node in component controller?
    2. With hierarchical table, when lead selection changed, the detail info in the right pane will change automatically. But with a tree, it seems to have to be implemented via action by myself.
    Can anyone give some suggestions to overcome these troubles?

    Wei,
    <i>With tree table, the dataSource of the table is just bound to the context node ORG_UNIT</i>
    Hmmm... You said, that this node resides in component controller, not in view controller. Or does it?
    Any recursive node that can be displayed with tree table can be displayed with tree as well. Period.
    1. Create tree and bind data source to the same node as table data source.
    2. Create tree node type and bind it to the same node again.
    3. Create one additional calculated attribute in forementioned node (type boolean) that inverts/negates attribute for table column "hasChildren" to tree node "isLeaf".
    4. That's all.
    VS

  • Help - Installation Groups with Hierarchies

    Hi experts ,
    I created Installation Grouping with Hierarchies Set-up (Please find the attached Doc)
    Using UTILIT85 Variant to derive Primary Installation billing relevant consumption , & Billing of primary is happening perfectly fine but When I am performing Billing of 2nd level Secondary installation (Which also have 3rd level Secondary installations)  3rd level installations consumption is not deducting from this 2nd level Secondary installation .
    If I check DBERCHV table for Primary Bill Doc then there is -ve consumption line present for this installation , But during billing system is not deducting this consumption from Secondary meters consumption .
    Please tell where I am doing wrong or what step I am skipping .
    Please find the attachment with more clarity (What exactly I am doing)

    Manoj:
    Asking for documentation is not the appropriate approach in the forums.  Please read Research Resources and Rules of Engagement.  Ask a specific question, indicating what you have tried and where you have failed or are having issues.
    This thread is locked.
    regards,
    bill.

  • Installation Groups with Hierarchies

    Hi Experts ,
    If anybody of you ever worked on Installation Groups with Hierarchies (Multilevel Main & Sub)  please share the Document or provide me the link .

    Manoj:
    Asking for documentation is not the appropriate approach in the forums.  Please read Research Resources and Rules of Engagement.  Ask a specific question, indicating what you have tried and where you have failed or are having issues.
    This thread is locked.
    regards,
    bill.

  • SRM 7.0 - Importing RFQ through excel with hierarchies

    Hello Experts,
    I am working with SRM 7.0 Portal, and I have a problem when I import an RFQ through excel with hierarchies for Portal.
    I am using the BADI BBP_PD_DOWNLOAD to handle export and import of data from the portal.
    To export to excel i use the function module BBP_PDH_FILE_DOWNLOAD_RENDER, and to import i use BBP_PDH_FILE_UPLOAD_PARSER.
    The problem is that i export data from portal layout to excel with the defined hierarchies, however when i import the same excel, the data is displayed in the Portal without the hierarchies were defined.
    Has anyone experienced this problem?
    Best regards
    Ricardo Marques

    Hi,
    I would import the Excel Data to SRM-MDM Catalog. User can select items from catalog.
    Regards,
    Masa

  • Usage of SAPBEX setVariables method?

    Dear all,
    I have a question regarding the usage of the SAPBEXsetVariables method which is part of the SAPBEX VBA-API.
    I want to invoke a BEx Workbook from a VBA-Macro. The query, embedded in this workbook, is
    using variables. (Some of the variables are further being processed by user exit, once a value for these variables
    has been set.)
    When opening the Workbook from my VBA-Macro, I don't want the variable screen to pop up. The variables should be set automatically during runtime, e.g. read from a spreadsheet. No user interaction should be necessary (reason: I need to batch process some 100 variables, that means, my workbook is being invoked a 100 times).
    The method SAPBEXSetFilterValue does not work in this scenario, because of the above mentioned variable processing by user exit.
    I thought, the SAPBEXsetVariables(varValues As Range) method might be the solution. Unfortunately, I couldn't find out, how to handle this method.
    I understand, that the method is reading the variables and their respective values from an Excel Range object.
    But I have no idea how variables and values need to be arranged within the range object.
    Any help on this topic? Am I on the right track at all?
    Thanks in advance.
    Kind Regards,
    Yogen Weinreich

    Hi Pete,
    > I don't know if you are still following this thread,
    > but I came back to this problem a few days ago and I
    > now have the solution to the SAPBEXsetVariables
    > method.
    Yes, I am still following this thread as well as other threads on SAPBEX VBA in this forum. That's how I came across the thread named <i>suppress variable-entry-window (SAP-Exit)</i> which is dealing with the same problem. The answer you are giving there regarding those two hidden repo sheets is rather impressing and was helpful to me in solving our problem.
    I our solution, we are actually not using the setVariables() method at all. Instead, we are directly writing the
    variable values in the respective cells of column GE/187 on the hidden "SABBEXqueries" sheet. This works fine for us.
    I'm facing a different problem though: We have been developing and running our solution from a local PC. The
    problem is, that we need to upload the BEx-Workbook  containing the VBA-Code to the SAP server. But there
    seems to be a naming conflict with the SAPBEX library, which needs to be referenced by the VBA modules we developed and a module also named SAPBEX, which is containing the SAPBEXonRefresh() event/procedure.
    Whenever we want to insert the SAPBEX library (in the menu bar of the VBA editor select Extras - References) a message window pops up, saying that there is a naming conflict between this library and an existing project or module. If I delete the SAPBEX module (the one containing the above mentioned event) I am able to insert the SAPBEX library. But when I save this very workbook to the SAP server, close it and try to open it again, I get an error message saying something about a "Runtimerror '5':
    Invalid procedure call or invalid argument". I guess, it's because of the SAPBEX module I deleted.
    Any suggestions on this one?
    > I like it better than the alternative solution that I
    > was suggesting last month.
    > So, when you're ready to have a go at it again, I can
    > give you the details.
    Sure, I'd definitely be interested. Is it the one you gave to Armin Weh in this thread?
    BTW, since you were asking, we are using Release 3.5.
    Regards,
    Yogen
    P.S. Pete, as you can see, there is still interest in this subject and your help is really being appreciated.
    I haven't really figured out, how the reward point systems works in this forum, but you have definitely earned yours.

Maybe you are looking for