A different implementation of Frank Nimphius'sADF Tree drill down example

I am using this implementation of adf tree and it works ok, but my tree is different because i want to use the command link when the node has no child and not when the node is in level 2.
So i suppose i must change the TreeManagedBean when it said :
if (getTreeHandler().getDepth()==2) {
i must write if the node has child.
For example my tree is like this:
informacion
--informacion general
--- Domicilios (*)
--- fallecidos (*)
--informacion social
--- asistencia social (*)
--- salud (*)
--- patrimonio
---- autos (*)
---- aeronaves (*)
so i want these (*) nodes appears with a command link and the other with output text, but i don't know how to ask if the node has or not child.
i use this System.out.println("Childs:"+getTreeHandler().getChildCount()); but always shows me 0.
any ideas?
thanks.

Hi,
i have under my nodeStamp a commandlink with value #{node} and in rendered i type #{node.children!=null} but it shows me all the items of the tree with a link, and except the root, when and item has childs it appears not with his name instead appears with the name of the first child.... i give you an example:
This is the tree ok:
-Root
-- Nodo 1
--- item 11
--- item 12
-- Nodo 2
-- Nodo 3
--- item 31
--- item 32
--- item 33
and this what happend when i put in rendered property of commandlink: #{node.children!=null}
the tree appears like this:
-Root
-- item 11 (instead of Node 1 it shows the name of the first child)
--- item 11
--- item 12
-- Nodo 2
-- item 31 (instead of Node 3 it shows the name of the first child)
--- item 31
--- item 32
--- item 33
why is that happening?, i don't understand.... and i don't know how to do it right
if you could help me , please
thanks a lot.

Similar Messages

  • Use different Layouts for Summary and Details in Drill down report

    Hi All,
    I have a 2 level drill down report in ALV.
    The summary report has certain fields and the Detail report has different fields. Now my problem is that when i use a default layout (with all fields of summary report) for the summary report, and drill down to the detail report i'm missing the fields on detail that are not in Summary. And if i save the default layout as default (with all fields of Detail) and go back to sumary, I'm missing the some other fields on summary (which are not on detail report).
    Is there a way to make different default layouts for each of those summary and detail reports:
    Also as the layouts are choosen by the user, i cannot hardcode any particular layout;
    So if the user chooses a layout for detail; it has to stay the same layout for the detail report if he goes to summary and then back to detail; unless the user changes the layout again.
    I'm using two different Layout types for each report. but i still cannot get the desired effect.
    Data:
          gt_layout_s             type slis_layout_alv,
          gt_layout_d             type slis_layout_alv,
      call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
          i_callback_program       = g_repid
          is_layout                = <b>gt_layout_s</b>
          i_callback_top_of_page   = g_top_of_page
          i_callback_user_command  = g_user_command
          i_callback_pf_status_set = g_status
          i_save                   = g_save
          is_variant               = gs_variant
          it_fieldcat              = gt_fieldcat[]
          it_events                = gt_events[]
        importing
          es_exit_caused_by_user   = gs_exit_caused_by_user
        tables
          t_outtab                 = it_summary.
      call function 'REUSE_ALV_GRID_DISPLAY'
        exporting
          i_callback_program       = g_repid
          is_layout                = <b>gt_layout_d</b>
          i_callback_top_of_page   = g_top_of_page
          i_callback_user_command  = g_user_command
          i_callback_pf_status_set = g_status
          i_save                   = g_save
          is_variant               = gs_variant
          it_fieldcat              = gt_fieldcat[]
          it_events                = gt_events[]
        importing
          es_exit_caused_by_user   = gs_exit_caused_by_user
        tables
          t_outtab                 = it_detail_disp.

    Here is how you differentiate between the layout of two different grids. There is the parameter, IS_VARIANT in the function. You usually leave it empty or pass only the report name and username. <b>What you need to do is to pass unique string for each grids to the HANDLE field of the parameter IS_VARIANT.</b> You can probably hard code it as HEADER and DETAILS in your case. Once that is done, system identified that these two different layout for different grids.
    Regards,
    Ravi
    Note : Please mark all the helpful answers<u></u>

  • Tree Drill Down

    Hello,
    I have been following this tutorial: http://thepeninsulasedge.com/frank_nimphius/2008/05/02/adf-faces-adf-faces-tree-drilldown-example/
    To get my links on my tree to work. I'm using the first method he describes.
    I understand everything except the part where he mentions a managed bean:
    "Next step is to create a binding of the tree component to a managed bean. The binding is used later to detect the depth of the tree, which is important for the command link to access the right setCurrentRowsWithKey action."
    I don't understand how to do this, and once I make a managed bean he doesn't decribe any way to get it to store the depth of the tree.
    Can anybody help explain this to me?
    Thanks,
    Nelson

    Just to clarify the binding issue - you didn't do what I meant.
    Click the tree component in the structure pane - now the property inspector (ctrl+shift+i) window will list properties of the tree. You'll find a property called binding there.
    You can also assign this in code:
                      <af:tree value="#{bindings.RegionsCountries.treeModel}"
                               var="node" binding="#{faa.tree}"
                               partialTriggers="navList1">(Here the tree is associated with the backing bean called faa and the object tree in there.)
    The tree component automatically tracks depth for you. And you can access it with a simple expression language.
    For example this EL will return true or false depending if the tree level is 1 or not.
    "#{beanname.tree.depth!=1}"

  • Servlet problem: (Shay Shmeltzer / Steve Muench / Frank Nimphius)

    Dear sirs... (Shay Shmeltzer / Steve Muench / Frank Nimphius)
    I hope you can give me an answer.
    I created an ADF UIX application using JDeveloper 10.1.2. I have created a servlet to download files. my problem is that it works just fine using jdeveloper, while when deployed into oracle application server it causes errors.i am calling this servlet by storing filename and data in the session, then sending redirect request to the browser.
    the servlet code is:
    package view;
    import java.io.OutputStream;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.io.PrintWriter;
    import java.io.IOException;
    public class FileDownload extends HttpServlet
    public void init(ServletConfig config) throws ServletException
    super.init(config);
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    try
    String DownloadFileName=(String) request.getSession().getAttribute("downloadfilename");
    byte data[]=(byte []) request.getSession().getAttribute("downloadfiledata");
    if (DownloadFileName==null)
    return;
    request.getSession().removeAttribute("downloadfilename");
    request.getSession().removeAttribute("downloadfiledata");
    response.setContentType("application/octet-stream");
    response.setHeader("Content-Disposition", "attachment;filename="+DownloadFileName);
    response.setContentLength(data.length);
    OutputStream OS=response.getOutputStream();
    OS.write(data);
    catch (Exception e)
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    try
    String DownloadFileName=(String) request.getSession().getAttribute("downloadfilename");
    byte data[]=(byte []) request.getSession().getAttribute("downloadfiledata");
    if (DownloadFileName==null)
    return;
    request.getSession().removeAttribute("downloadfilename");
    request.getSession().removeAttribute("downloadfiledata");
    response.setContentType("application/octet-stream");
    response.setHeader("Content-Disposition", "attachment;filename="+DownloadFileName);
    response.setContentLength(data.length);
    OutputStream OS=response.getOutputStream();
    OS.write(data);
    catch (Exception e)
    and the error is :
    java.lang.IllegalStateException: Response has already been committed
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.EvermindHttpServletResponse.resetBuffer(EvermindHttpServletResponse.java:1902)
    at com.evermind[Oracle Application Server Containers for J2EE 10g (10.1.2.0.2)].server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:213)
    this error is stored in the log file. if i am running this code from JDeveloper I can download the files using either FireFox or Internet Explorer without any error.
    but if i am running this code using Oracle Application Server 10g Realse 2, i can not download the files using either FireFox or IE.
    so i created another solution, instead of redirecting from a datapage into the servlet, i put the following code in a data page as follows:
    public void onDownload(DataActionContext ctx)
    String DownloadFileName=getfilename();
    byte data[]=getdata();
    response.setContentType("application/octet-stream");
    response.setHeader("Content-Disposition", "attachment;filename="+DownloadFileName);
    response.setContentLength(data.length);
    OutputStream OS=response.getOutputStream();
    OS.write(data);
    OS.flash();
    this time the application works fine when deployed into Oracle Application Server if you use FireFox, but if you use IE, it causes problem, i can not save the file or view it.
    what is the problem?
    how can i fix this?
    i am certin that the second method is not correct and it should not be used.
    thanks for everyone in advance
    best regards

    Dear Sir...
    Thanks alot for your replay
    regarding the reset method. Itried it and it does not give any good.
    I discovered the following problem:
    If you are redirecting from with struts dataaction page to the servlet, you get the error
    Otherwise if you called the servlet from directly or redirected to a servlet from within a servlet, you get no problem.
    can any one help me please??
    Is it possible that the problem is in IE itself? The file is downloaded perfectly fine with firefox(but the error log still appear)?
    best regards

  • How to implement uplink redundancy and spanning tree in SFP-300 switches

    We have several Small Business 300 Series Managed Switches, the 10/100 ones with PoE, the first generation ones.
    We've been advised to implement uplink redundancy and spanning tree on these switches.
    I'm sure spanning tree is a checkbox somewhere in the web interface.
    How does one implement uplink redundancy besides interconnecting the switches plus turning on spanning tree (RSTP)??
    Thank you, Tom
    P.S. I also tried to file a service request but it does not work, I get: "Error 500: Request processing failed; nested exception is java.lang.NullPointerException"

    Hello Thomas,
    Thanks for using the Cisco Small Business eSupport Community. I've looked through the articles that are available in our Knowledge Base and found a few that I hope will be able to assist you in setting up spanning tree and link redundancy on your SFP300s:
    In regards to link redundancy, the following article on LAG can hopefully provide some guidance:
    Link Aggregate Group (LAG) Configuration on 200/300 Series Managed Switches
    And for your question on setting up STP, here are a few articles with additional information:
    Configure Spanning Tree Protocol (STP) Status and Global Settings on 200/300 Series Managed Switches
    Setup Spanning Tree Protocol (STP) on a Interface on the 300 Series Managed Switches
    I hope that this information helps! Please remember to mark your question as answered and rate if this solves your problem.
    Best,
    Gunner

  • Drill down in tree report

    Hi gurus,
    This is regarding the drill down in the Tree report.
    My scenario is,
    i am doing a budget variance report which displays the report in tree format.
    i have texts for different nodes in the tree, along with that i have a 10 feilds which i display using fieldcat in output along with nodes.
    now i want to have the drill down to the 2 of the fields, where it has to go to some transaction.
    i tried with hotspot in fieldcat definition but it is not working.
    please can u tell me a solution as how can i do this drill down.
    thanks in advance.
    u will be rewarded heavily.

    Hi Vipin,
    You can try with following example:
    *& Report  ZPRG                                                *
    &--INTERACTIVE ALV REPORT PROGRAM--
    &This program displays order detais for a particular customer----
    REPORT  zprg                              .
    --TYPE POOLS--
    TYPE-POOLS slis.
    --TABLES--
    TABLES : kna1, vbak.
    --DATA TYPES--
    TYPES : BEGIN OF ty_vbak,
    vbeln TYPE vbak-vbeln,
    erdat TYPE vbak-erdat,
    netwr TYPE vbak-netwr,
    END OF ty_vbak.
    TYPES : BEGIN OF ty_vbap,
    posnr TYPE vbap-posnr,
    arktx TYPE vbap-arktx,
    werks TYPE vbap-werks,
    END OF ty_vbap.
    --WORK AREAS--
                              FOR FIRST PAGE                            *
    DATA w_fcat TYPE slis_fieldcat_alv.   "Used as Header for Field Catalog
    DATA w_vbak TYPE ty_vbak.             "Used as Header for Data Table
    DATA w_events TYPE slis_alv_event.    "Used as header for Events Table
    DATA w_comments TYPE slis_listheader. "Used as Header for Comments Table
                               SECOND PAGE                              *
    DATA w2_fcat TYPE slis_fieldcat_alv.   "Used as Header for Field Catalog
    DATA w2_vbap TYPE ty_vbap.             "Used as Header for Data Table
    DATA w2_events TYPE slis_alv_event.    "Used as header for Events Table
    DATA w2_comments TYPE slis_listheader."Used as Header for Comments Table
    --INTERNAL TABLES--
                              FOR FIRST PAGE                            *
    DATA t_fcat TYPE slis_t_fieldcat_alv.   "Table for Field Catalog
    DATA t_vbak TYPE ty_vbak OCCURS 1.      "Data Table
    DATA t_events TYPE slis_t_event.        "Table for events
    DATA t_comments TYPE slis_t_listheader. "Comments table
                               SECOND PAGE                              *
    DATA t2_fcat TYPE slis_t_fieldcat_alv.   "Table for Field Catalog
    DATA t2_vbap TYPE ty_vbap OCCURS 1.      "Data Table
    DATA t2_events TYPE slis_t_event.        "Table for events
    DATA t2_comments TYPE slis_t_listheader. "Comments table
    *****************VIPIN: START*****************************
    DATA: V_REPID LIKE SY-REPID.
    V_REPID = SY-REPID.
    *****************VIPIN: END*******************************
    --SELECTION SCREEN--
    PARAMETERS p_custno TYPE kna1-kunnr.
    --FILLING FIELD CATALOG--
                              FOR FIRST PAGE                            *
    w_fcat-col_pos = 1.
    w_fcat-fieldname = 'VBELN'.
    w_fcat-seltext_m = 'ORDER NUMBER'.
    APPEND w_fcat TO t_fcat.
    w_fcat-col_pos = 2.
    w_fcat-fieldname = 'ERDAT'.
    w_fcat-seltext_m = 'ORDER DATE'.
    APPEND w_fcat TO t_fcat.
    w_fcat-col_pos = 3.
    w_fcat-fieldname = 'NETWR'.
    w_fcat-seltext_m = 'ORDER VALUE'.
    APPEND w_fcat TO t_fcat.
                               SECOND PAGE                              *
    w2_fcat-col_pos = 1.
    w2_fcat-fieldname = 'POSNR'.
    w2_fcat-seltext_m = 'ITEM NUMBER'.
    APPEND w2_fcat TO t2_fcat.
    w2_fcat-col_pos = 2.
    w2_fcat-fieldname = 'ARKTX'.
    w2_fcat-seltext_m = 'ITEM DESCRIPTION'.
    APPEND w2_fcat TO t2_fcat.
    w2_fcat-col_pos = 3.
    w2_fcat-fieldname = 'WERKS'.
    w2_fcat-seltext_m = 'PLANT'.
    APPEND w2_fcat TO t2_fcat.
    --FILLING DATA TABLE--
                              FOR FIRST PAGE                            *
    SELECT vbeln
           erdat
           netwr
    FROM vbak
    INTO TABLE t_vbak
    WHERE kunnr = p_custno.
    SORT t_vbak BY vbeln.
                               SECOND PAGE                              *
    DATA FOR 2ND PAGE IS FILLED IN THE SUBROUTINE HANDLING USER_COMMAND *
    --FILLING EVENTS TABLE--
    w_events-name = 'TOP_OF_PAGE'.
    w_events-form = 'SUB1'.
    APPEND w_events TO t_events.
    w_events-name = 'USER_COMMAND'.
    w_events-form = 'SUB2'.
    APPEND w_events TO t_events.
    --FILLING COMMENTS TABLE--
    w_comments-typ = 'H'.
    w_comments-info = 'CUSTOMER ORDER INFORMATION'.
    APPEND w_comments TO t_comments.
    w_comments-typ = 'S'.
    w_comments-key = 'Sold To Party'.
    w_comments-info = p_custno.
    APPEND w_comments TO t_comments.
    -----PASSING FIELD CATALOG AND THE DATA TABLE TO THE FUNCTION-----
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
       EXPORTING
        I_INTERFACE_CHECK                 = ' '
        I_BYPASSING_BUFFER                = ' '
        I_BUFFER_ACTIVE                   = ' '
          i_callback_program                = V_REPID
        I_CALLBACK_PF_STATUS_SET          = ' '
        I_CALLBACK_USER_COMMAND           = ' '
        I_CALLBACK_TOP_OF_PAGE            = ' '
        I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
        I_CALLBACK_HTML_END_OF_LIST       = ' '
        I_STRUCTURE_NAME                  =
        I_BACKGROUND_ID                   = ' '
        I_GRID_TITLE                      =
        I_GRID_SETTINGS                   =
        IS_LAYOUT                         =
          it_fieldcat                       = t_fcat
        IT_EXCLUDING                      =
        IT_SPECIAL_GROUPS                 =
        IT_SORT                           =
        IT_FILTER                         =
        IS_SEL_HIDE                       =
        I_DEFAULT                         = 'X'
        I_SAVE                            = ' '
        IS_VARIANT                        =
          it_events                         = t_events
        IT_EVENT_EXIT                     =
        IS_PRINT                          =
        IS_REPREP_ID                      =
        I_SCREEN_START_COLUMN             = 0
        I_SCREEN_START_LINE               = 0
        I_SCREEN_END_COLUMN               = 0
        I_SCREEN_END_LINE                 = 0
        IT_ALV_GRAPHICS                   =
        IT_HYPERLINK                      =
        IT_ADD_FIELDCAT                   =
        IT_EXCEPT_QINFO                   =
        I_HTML_HEIGHT_TOP                 =
        I_HTML_HEIGHT_END                 =
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER           =
        ES_EXIT_CAUSED_BY_USER            =
      TABLES
        t_outtab                          = t_vbak
      EXCEPTIONS
        PROGRAM_ERROR                     = 1
        OTHERS                            = 2
    IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
                Subroutine for the Event TOP_OF_PAGE
    FORM sub1 .
      CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
        EXPORTING
          it_list_commentary       = t_comments
          i_logo                   = 'COMPANY LOGO'
      I_END_OF_LIST_GRID       =
    ENDFORM.                                                    " sub1
                Subroutine for the Event USER_COMMAND
    Here u_comm contains the function code of the selected function
    and slis_field is a structure containing cursor information
    FORM sub2 USING u_comm LIKE sy-ucomm rs_field TYPE slis_selfield.
    CASE u_comm.
        WHEN '&IC1'.
          IF rs_field-fieldname = 'VBELN'.
            SELECT posnr
                   arktx
                   werks
            FROM vbap INTO TABLE t2_vbap WHERE vbeln = rs_field-value.
          ENDIF.
      ENDCASE.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
        I_INTERFACE_CHECK                 = ' '
        I_BYPASSING_BUFFER                = ' '
        I_BUFFER_ACTIVE                   = ' '
        I_CALLBACK_PROGRAM                = ' '
        I_CALLBACK_PF_STATUS_SET          = ' '
        I_CALLBACK_USER_COMMAND           = ' '
        I_CALLBACK_TOP_OF_PAGE            = ' '
        I_CALLBACK_HTML_TOP_OF_PAGE       = ' '
        I_CALLBACK_HTML_END_OF_LIST       = ' '
        I_STRUCTURE_NAME                  =
        I_BACKGROUND_ID                   = ' '
        I_GRID_TITLE                      =
        I_GRID_SETTINGS                   =
        IS_LAYOUT                         =
          it_fieldcat                       = t2_fcat
        IT_EXCLUDING                      =
        IT_SPECIAL_GROUPS                 =
        IT_SORT                           =
        IT_FILTER                         =
        IS_SEL_HIDE                       =
        I_DEFAULT                         = 'X'
        I_SAVE                            = ' '
        IS_VARIANT                        =
        IT_EVENTS                         =
        IT_EVENT_EXIT                     =
        IS_PRINT                          =
        IS_REPREP_ID                      =
        I_SCREEN_START_COLUMN             = 0
        I_SCREEN_START_LINE               = 0
        I_SCREEN_END_COLUMN               = 0
        I_SCREEN_END_LINE                 = 0
        IT_ALV_GRAPHICS                   =
        IT_HYPERLINK                      =
        IT_ADD_FIELDCAT                   =
        IT_EXCEPT_QINFO                   =
        I_HTML_HEIGHT_TOP                 =
        I_HTML_HEIGHT_END                 =
      IMPORTING
        E_EXIT_CAUSED_BY_CALLER           =
        ES_EXIT_CAUSED_BY_USER            =
        TABLES
          t_outtab                          = t2_vbap.
      EXCEPTIONS
        PROGRAM_ERROR                     = 1
        OTHERS                            = 2
      IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    ENDFORM.                                                    "sub2

  • IDA ALV - different behavior regarding "drill-down" for grouped attributes after upgrade to ERP 6.0 EHP7 SPS5

    Hello Experts,
    we have  upgraded our Dev System to ERP 6.0 EHP 7 SPS5 (coming from SPS4).
    We had implement an example with an IDA ALV. On SPS4 we could make a "drill-down" to the single lines of grouped attributes. Now with SPS5 this is not possible anymore if the grouping is done for more than one attribute.
    On the following screenshot it scan be seen that the grouping is done over a Peril attribute and the Currency. I can only make a drill-down via the peril attribute, so that the aggregated values per currency are displayed. ON SPS4 it was possible to make a further drill-down for the currency attribute, so that the different single lines were visible which were part of the grouping/aggregation.
    SPS5 behavior:
    SPS4 behavior:
    I did not found any new settings which steers the behavior. Also I did not found any note which gives a hint that this is a bug.
    Does anyone know if the behavior for that was changed and why?
    Thx & Best regards,
    Florian

    Hi Florian,
    it is related with the currency field and it seems to be a bug. Please open a ticket to get the problem fixed. The component is BC-WD-CMP-ALV.
    Cheers
    Jens

  • Navigate to a different report from the Drill down path

    Hi,
    I have a question regarding the navigation.
    I have a summarized report showing the fields City, Year and Count.
    Now the user has the privilege to drill down on the Day dimension. He can drill down from Year to Quarter to Month to Day.
    Is there a way for me to provide a navigation path at the Day level. Lets say when the user clicks on the Date then he has to be navigated to a different report showing the detailed report.
    Since my summarized report does not have the fields Date I cannot provide the navigation path. The Date field is displayed only in the drill down path and I am not sure how to proivde the path.
    Can anyone throw their inputs into this?
    Thanks

    hi,
    i don't think there exists any out-of-the box solution through front-end.
    If you know what fields appear on the detail report, provide a PRE-DEFINED drill path in the rpd to all the columns from the date column.
    -bifacts
    http://www.obinotes.com

  • Tree limbs down on lines

    Since Hurricane Sandy, there have been two large tree limbs down on the lines behind our house. They are not on the power lines, only the phone and cable lines. There has been no interruption in service, but the limbs are very large (12-16 inches across) and are hanging on the lines. They must be putting quite a bit of weight on the lines, because they have cause quite a bit of deflection in them already. They also do not appear to be very stable. There's no way that I can remove them safely, and our tree removal service was hesitant because of how the trees are positioned on the lines. What is Verizons policy regarding this situation?  
    I should add that the limbs are not on the lines running to our house, those are run below ground. The limbs are on the main lines servicing our block. The worst part is, it's not even branches from our tree. It's from our neighbors tree, and I'm not even sure that the lines are on our property (they run along the property line). The majority of the branch is resting in our yard however.

    Hi EvanBergstrom,
    If you're sure that they're Verizon phone lines and not power lines, you can schedule a repair team to come out.  Here is the link:
    http://www.verizon.com/repair
    Please let us know if you can't schedule a repair that way, and we can escalate the issue for you.
    Regards,
    AnnieS
     

  • Is it possible to open drill down chart in different window ?

    Dear expert
    Is it possible to open drill down chart in different window ?
    Regards
    imansyah

    HI imansyah,
    Can you try doing what you want in first instance and then try posting your problem you face.
    Regards
    Rana

  • Howto drill down to different hirerachies

    Hi all
    I have a geography dimension with 4 different type of hierarchies.In the business model those 4 hierarchies share the same parent(WorldWide) and the same lowest level(Store).
    In the presentation model I create those 4 hierarchies by dupplicating the parent level and the lowest level.
    When I test my report I notice that from the parent level(WW) I always drill down to the same hierarchy even if i'm in a different hierarchy.
    My question : is it possible to define to wich hierarchy the drill down must occure.
    If it's not possible howto disable the parent level drill down?
    Regards
    Edited by: aharrab_be on Dec 17, 2008 3:02 AM

    Unfortunaltly it's not what I need I already saw this post.
    I succeed to find a solution temporally i disabled the drill down link in the report by using javascript
    this is the link if someone need it
    http://www.biblogs.com/2007/06/20/obiee-data-modeling-tips-3-ragged-hierarchies/
    Regards
    Adil

  • Is it possible to implement the drill down and navigate reorts in narrative

    any body pse help me to find 'is it possible to implement the drill down and navigate reports in narrative view'

    Hi user12255470,
    Go URLs are a way to directly call an Answer Request or Dashboard Page via a URL. In addition, you can even pass parameters in the URL as filters. GO URLs are used will you want to allow a user to drill into detail by clicking on a static text. It also allows other tools to drill into OBIEE.
    Here's an example GO URL: http://LOCALHOST:9704/analytics/saw.dll?Go&Path=/users/administrator/OTN Tests/Page Test&Style=oracle10&Format=PDF
    I'll break down each piece
    LOCALHOST: This is the URL for your OBIEE web host
    :9704: This is the typical port for OBIEE installs (sometimes 7777)
    ?Go: This is where the it's gets the name "GO URL". It's the GO command.
    &Path= : This is the full path of the report. In my case, it's in the administrator folder in a sub folder called OTN Test. The report itself is called Page Test.
    &Style=: This sets the style, or the look and feel, on how the report is presented. The default is oracle10.
    &Format=: You can set this to default the presentation. I set it to PDf so that a PDF will generated.
    Good luck and if you found this post useful, please award points!
    Best regards!
    -Joe

  • Drill down needs to run different request

    An existing 5-level drill-down request must be changed to display a different report on drill-down from level 3 and produce this report through level 5. The different report differs in the columns it contains as well as the style and content of the graph. Since the different report is particular to the unique value at level 2, this value must be furnished to the level 3 report for filtering.
    I am new enough to the Siebel Analytics/Oracle OBIEE tool that I dont know where to begin looking for an approach to this. Any help you can provide will be appreciated.
    Cliff

    Hello Cliff, I dont have the BI in front of me but the concept is this:
    Instead of creating one report and drilling down the 5 levels
    You create 5 reports each report showing what you would want to see in that 'level'. Then instead of drilling down you navigate from the first repor tyou created to the second one and then from the second to the third etc.
    If you want the reports you navigate to to be filtered by the value you click on you can filter them as "is prompted".
    Navigation can be found on properties>column properties>column/value interaction i think in the criteria. You set the repoirt you want to navigate to when the user clicks on a field. You can also enter multiple navigaation targets.
    regards,
    Kostis

  • Implementing drill down functionality for BI reports

    Hi All,
    We want to integrate some BI reports in EP. What we want to achieve is:
    Display a graph (eg indicating sales revenue) or table in the iView
    Upon user click, drill down the report to view by various criteria.
    Using VC, we managed to implement drill down using a 'button', i.e. user selects the row or region in graph and clicks on a button to trigger the drill down.
    We want to improvise on the interface for triggering drill down. Instead of having to select a row and clicking on the button, can we trigger  drill down using context menu (using right click of mouse) or alternatively, clicking on a row or column in the graph? Would appreciate any inputs on this or alternative methods of implementing this. Thanks!
    cheers
    Prachi

    No, no configurable context menu in VC available.
    Only by using BI web reports embedded via HTML View.

  • How to trigger an ActionListener in different class on click of a tree node

    Hi guyz,
    There are three panels inside my main Frame
    -->TopPanel,MiddlePanel and BottomPanel. I have a tree structure inside a panel. This panel along with couple more panels is in MiddlePanel. My main class is "mainClass.java". Inside that i have an actionListener for a specific button. I need to trigger that actionListener when i click one of the tree nodes in the panel i specified before. The problem is that my MiddlePanel is itself a different ".java" file which is being called in my "mainClass" when a specific button is clicked. There are different buttons in my "mainClass" file and for each one i am creating different MiddlePanels depending on the buttons clicked.
    So, if i click the tree node, i need to remove the MiddlePanel and recreate the MiddlePanel(One that will be created when a different button in the mainClass file is clicked). i.e., i need to trigger the actionListener for that corresponding button. Is there a way to do it?

    use this code to call different panel by selecting tree node.....ok
    import javax.swing.*;
    import javax.swing.tree.*;
    import java.awt.*;
    import java.sql.SQLException;
    import javax.swing.event.*;
    class MainTree extends JFrame
    private static final long serialVersionUID = 1L;
         CardLayout cl = new CardLayout();
         JPanel panel = new JPanel(cl);
    public MainTree() throws Exception
    JPanel blankPanel = new JPanel();
    blankPanel.setBorder(BorderFactory.createTitledBorder("Blank Panel"));
    panel.add(blankPanel,"0");
    panel.add(blankPanel,BorderLayout.CENTER);
         panel.setPreferredSize(new Dimension(800, 100));
         setSize(1000, 700);
    setLocationRelativeTo(null);
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    // getContentPane().setLayout(new GridLayout(1,2));
    getContentPane().setLayout(new BorderLayout());
    ConfigTree test = new ConfigTree();
    DefaultMutableTreeNode mainTree = (DefaultMutableTreeNode)test.buildTree();
    JTree tree = new JTree(mainTree);
    tree.setCellRenderer(new DefaultTreeCellRenderer(){
    private static final long serialVersionUID = 1L;
         public Component getTreeCellRendererComponent(JTree tree,Object value,
    boolean sel,boolean expanded,boolean leaf,int row,boolean hasFocus){
    JLabel lbl = (JLabel)super.getTreeCellRendererComponent(tree,value,sel,expanded,leaf,row,hasFocus);
    NodeWithID node = (NodeWithID)((DefaultMutableTreeNode)value).getUserObject();
    if(node.icon != null)lbl.setIcon(node.icon);
    return lbl;
    getContentPane().add(new JScrollPane(tree));
    loadCardPanels((DefaultMutableTreeNode)((DefaultTreeModel)tree.getModel()).getRoot());
    getContentPane().add(panel,BorderLayout.EAST);
         getContentPane().add(blankPanel,BorderLayout.WEST);
    // getContentPane().add(panel);
    tree.addTreeSelectionListener(new TreeSelectionListener(){
    public void valueChanged(TreeSelectionEvent tse){
    NodeWithID node =(NodeWithID)((DefaultMutableTreeNode)((TreePath)tse.getPath())
    .getLastPathComponent()).getUserObject();
    if(node.nodePanel != null)
    String cardLayoutID = node.ID;
    cl.show(panel,cardLayoutID);
    cl.show(panel,"0");
    public void loadCardPanels(DefaultMutableTreeNode dmtn)
    for(int x = 0; x < dmtn.getChildCount(); x++)
    if(((DefaultMutableTreeNode)dmtn.getChildAt(x)).isLeaf() == false)
    loadCardPanels((DefaultMutableTreeNode)dmtn.getChildAt(x));
    NodeWithID node = (NodeWithID)((DefaultMutableTreeNode)dmtn.getChildAt(x)).getUserObject();
    if(node.nodePanel != null)
    String cardLayoutID = node.ID;
    panel.add(cardLayoutID,node.nodePanel);
    public static void main(String[] args) throws Exception{new MainTree().setVisible(true);}
    class ConfigTree
    public Object buildTree() throws Exception
    NodeWithID n0 = new NodeWithID("HelpDesk","");
    NodeWithID n1 = new NodeWithID("Administrator",n0.nodeName);
    NodeWithID n2 = new NodeWithID("Report Form",n1.nodeName,new Tree().getContentPane());
    NodeWithID n3 = new NodeWithID("Create User",n2.nodeName,new JPanel());
    NodeWithID n4 = new NodeWithID("Unlock User",n2.nodeName,new unlockui().getContentPane());
    NodeWithID n5 = new NodeWithID("List User",n2.nodeName,new JPanel());
    NodeWithID n6 = new NodeWithID("Assign Role",n2.nodeName,new AssignRole());
    NodeWithID n9 = new NodeWithID("Operator",n1.nodeName,new JPanel());
    NodeWithID n10 = new NodeWithID("Create Ticket",n9.nodeName,new JPanel());
    NodeWithID n11 = new NodeWithID("My Ticket",n9.nodeName,new JPanel());
    NodeWithID n12 = new NodeWithID("All Ticket",n9.nodeName,new JPanel());
    NodeWithID n13 = new NodeWithID("Event Viewer",n1.nodeName,new JPanel());
    DefaultMutableTreeNode top = new DefaultMutableTreeNode(n0);
    DefaultMutableTreeNode branch1 = new DefaultMutableTreeNode(n1);
    top.add(branch1);
    DefaultMutableTreeNode node1_b1 = new DefaultMutableTreeNode(n2);
    DefaultMutableTreeNode n1_node1_b1 = new DefaultMutableTreeNode(n3);
    DefaultMutableTreeNode n2_node1_b1 = new DefaultMutableTreeNode(n4);
    DefaultMutableTreeNode n3_node1_b1 = new DefaultMutableTreeNode(n5);
    DefaultMutableTreeNode n4_node1_b1 = new DefaultMutableTreeNode(n6);
    branch1.add(node1_b1);
    branch1.add(n1_node1_b1);
    branch1.add(n2_node1_b1);
    branch1.add(n3_node1_b1);
    branch1.add(n4_node1_b1);
    DefaultMutableTreeNode node4_b1 = new DefaultMutableTreeNode(n9);
    DefaultMutableTreeNode n1_node4_b1 = new DefaultMutableTreeNode(n10);
    DefaultMutableTreeNode n2_node4_b1 = new DefaultMutableTreeNode(n11);
    DefaultMutableTreeNode n3_node4_b1 = new DefaultMutableTreeNode(n12);
    node4_b1.add(n1_node4_b1);
    node4_b1.add(n2_node4_b1);
    node4_b1.add(n3_node4_b1);
    DefaultMutableTreeNode node5_b1 = new DefaultMutableTreeNode(n13);
    branch1.add(node1_b1);
    branch1.add(node4_b1);
    branch1.add(node5_b1);
    return top;
    class NodeWithID
    String nodeName;
    String ID;
    JPanel nodePanel;
    ImageIcon icon;
    public NodeWithID(String nn,String parentName)
    nodeName = nn;
    ID = parentName+" - "+nodeName;
    public NodeWithID(String nn,String parentName,Container container)
    this(nn,parentName);
    nodePanel = (JPanel) container;
    nodePanel.setBorder(BorderFactory.createTitledBorder(ID + " Panel"));
    public NodeWithID(String nn,String parentName,JPanel p, ImageIcon i)
    this(nn,parentName,p);
    icon = i;
    public String toString(){return nodeName;}
    }

Maybe you are looking for