Trees in reports

Hi all,
I'm reporting informations that have a tree-like structure. I bet I'm not the first.
In the datamodel, I've created a (non-portable but I'll see later how I can deal with that) SELECT statement containing CONNECT BY and START WITH clause. And it works well.
But, now, I wanted my report to display the hierarchy of my tree with indentation. I first used the hint from this guy : http://www.arsdigita.com/books/sql/trees.html
And it worked well... until I displayed it in HTML/HTMLCSS (PDF was ok). That was because HTML browsers tend to ignore multiple leading spaces.
So, I created a format trigger. When reporting for PDF or whatever is not HTML, I do the space padding (instead of in the SELECT of my datamodel). When reporting for HTML/HTMLCSS, even if the W3C doesn't approve it, I pad a number of   based on the level in the tree. As you may guess, I need to specify that the field contains HTML tags if I don't want to read lots of   in my fields.
My problem (finally) is that when I mark the field to contains HTML tags, it looses all its formatting on the HTML display (and that's kind of annoying ;-). Does it mean that I have to add HTML tags for the font face, font size, etc... when I mark as containing HTML tags? How then should I refer to the generated styles when in HTMLCSS? Will I not be too dependent on the way the HTMLCSS is generated? Or maybe, there's something I've missed somewhere and there's a simple way to keep the formatting in the fields... Or maybe that's a bug... Or maybe my computer is drunk...
Any help would be greatly appreciated :-)
Frederic

may be try erasing the message that you have put earlier and check it.

Similar Messages

  • Web Service Error - No Result Tree to Report On

    After successfully creating a web service reference and then using the 'Form and Report on Web Service' wizard I get an error, after defining the input items, at the 'Web Service results' Stage.
    It states :
    "No Result Tree to Report On
    This Web service does not have a result tree in its definition that is appropriate for a report. You may wish to run the Form on Web Service wizard instead."
    This web service returns an array of records and runs successfully outside of HTML_DB. Has anyone else had this problem ? I cannot find any information about this so far. I am using App Ex v2, 10g App Server and 9i (9.2.0.4.0) DB. The WSDL file for the web service is below.
    Thanks
    <?xml version="1.0" encoding="UTF-8" ?>
    - <!-- Generated by the Oracle JDeveloper 10g Web Services WSDL Generator
    -->
    - <!-- Date Created: Wed Jun 21 10:10:07 BST 2006
    -->
    - <definitions name="18_WS" targetNamespace="http://TESTDB/18_WS.wsdl" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://TESTDB/18_WS.wsdl" xmlns:ns1="http://TESTDB/_WS.xsd">
    - <types>
    - <schema targetNamespace="http://TESTDB/_WS.xsd" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
    - <complexType name="TESTDB_CollectCountTable" jdev:packageName="TESTDB" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    - <all>
    <element name="array" type="ns1:ArrayOfTESTDB_CollectCountRecordUser" />
    </all>
    </complexType>
    - <complexType name="TESTDB_CollectCountRecordUser" jdev:packageName="TESTDB" xmlns:jdev="http://xmlns.oracle.com/jdeveloper/webservices">
    - <all>
    <element name="code" type="string" />
    <element name="category" type="string" />
    <element name="total" type="decimal" />
    </all>
    </complexType>
    - <complexType name="ArrayOfTESTDB_CollectCountRecordUser" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    - <complexContent>
    - <restriction base="SOAP-ENC:Array">
    <attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="ns1:TESTDB_CollectCountRecordUser[]" />
    </restriction>
    </complexContent>
    </complexType>
    </schema>
    </types>
    - <message name="getCollectionCount0Request">
    <part name="pNumlink" type="xsd:decimal" />
    </message>
    - <message name="getCollectionCount0Response">
    <part name="return" type="ns1:TESTDB_CollectCountTable" />
    </message>
    - <portType name="_WSPortType">
    - <operation name="getCollectionCount">
    <input name="getCollectionCount0Request" message="tns:getCollectionCount0Request" />
    <output name="getCollectionCount0Response" message="tns:getCollectionCount0Response" />
    </operation>
    </portType>
    - <binding name="_WSBinding" type="tns:_WSPortType">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="getCollectionCount">
    <soap:operation soapAction="" style="rpc" />
    - <input name="getCollectionCount0Request">
    <soap:body use="encoded" namespace="18_WS" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </input>
    - <output name="getCollectionCount0Response">
    <soap:body use="encoded" namespace="18_WS" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
    </output>
    </operation>
    </binding>
    - <service name="18_WS">
    - <port name="_WSPort" binding="tns:_WSBinding">
    <soap:address location="http://testserver:7778/RCAHMS_WebServices-NMRSPK18_WS-context-root/_WS" />
    </port>
    </service>
    </definitions>

    This has been the subject of bug 5394491 for several weeks now without any resolution. It looks like this error will prevent the use of Jdeveloper web services that use array parameters in the current versions of Application Express. We are not planning to use Application Express for this purpose any more as there is no information about the bug (or fix) forthcoming.

  • Tree like report

    I have a view which returns holding data in a parent-child hierarchy.
    holding
    instrument_id
    parent_instrument id
    level
    I looked at creating hierarchy and go through “Connect By” example from the Admin manual, but it seems like I already have parent/child structure returned from my DB View.
    How can I create a tree like report? Is it possible?
    Deepak

    Hi,
    If you have the tree level in your report you can create a tree like report by using the LPAD function to add spaces in front of your data. eg.
    LPAD('   ', '   ', (level-1)*3)||instrument_idHope that helps,
    Rod West

  • Tree type report

    Hi all,
           Can anyone give sample code for TREE TYPE REPORT(simple code), like for example: The list should contain 2 main items (parent item) and when i expand each item i should have 1 item(child item) .and when i double click on that it should perform some action say it should go to new list.
    like :
    + food
    + tools
    (this is in first list , 2 main items) when i expand this
    - food
           noodles
    - tools
           hammer
    (this sub item , when i click on this it should go to new list)
    thanks in advance.
    kumaran.c

    HI Kumaran,
    Have a look at the following code of simple tree control ...Its in module pool style.. will copy each include as well..
    *& Module Pool       ZKM_SIMPLETREE_CONTROL
    REPORT  ZKM_SIMPLETREE_CONTROL.
    INCLUDE ZKM_TOP.
    INCLUDE ZKM_CL.
    INCLUDE ZKM_PBO_100O01.
    INCLUDE ZKM_FORM01.
    INCLUDE ZKM_PAI_100I01.
    START-OF-SELECTION.
    create the application object
    this object is needed to handle the ABAP Objects Events of
    Controls
    CREATE OBJECT G_APPLICATION.
    SET SCREEN 1000.
    *&  Include           ZKM_TOP
    *REPORT ZKM_SIMPLETREE_CONTROL MESSAGE-ID TREE_CONTROL_MSG.
    CLASS lcl_application  DEFINITION DEFERRED.
    CLASS cl_gui_cfw DEFINITION LOAD.
    TYPES: node_table_type LIKE STANDARD TABLE OF zkm_treesnode
               WITH DEFAULT KEY.
    CAUTION: MTREESNODE is the name of the node structure which must
    be defined by the programmer. DO NOT USE MTREESNODE!
    *internal table and work area for storing all the nodes that are created
    DATA: gt_nodetable TYPE node_table_type,
          gw_nodetable TYPE zkm_treesnode.
    *objects refering to the classes used.
    DATA: g_application TYPE REF TO lcl_application,
          g_custom_container TYPE REF TO cl_gui_custom_container,
          g_tree TYPE REF TO cl_gui_simple_tree.
    Fields on Dynpro 1000
    DATA: g_event(30),
          g_key TYPE i,
          g_node_key TYPE tv_nodekey.
    Fields on Dynpro 2000
    DATA: g_relatship TYPE i,
          g_cb_sub,
          g_cb_same,
          g_cb_under VALUE 'X',
          g_nodename(30).
    Structure for preserving the skeleton
    TYPES: BEGIN OF ty_flag,
           relatkey TYPE tv_nodekey,
           node_key TYPE tv_nodekey,
           flag TYPE i,                "1  =  skeleton
                                       "2  =  service line
                                       "3  =  levels
           END OF ty_flag.
    DATA: gt_flag TYPE TABLE OF ty_flag,
          gw_flag TYPE ty_flag.
    *structure storing the hierarchy and the nodes under them.
    ***INCLUDE ZKM_PBO_100O01 .
    *&      Module  PBO_1000  OUTPUT
          text
    MODULE pbo_1000 OUTPUT.
      SET PF-STATUS 'ZMAIN'.
      SET TITLEBAR 'ZTITLE'.
      IF g_tree IS INITIAL.
        " The Tree Control has not been created yet.
        " Create a Tree Control and insert nodes into it.
        PERFORM create_and_init_tree.
      ENDIF.
    *registering keys which can trigger the event
      PERFORM register_key_strokes.
    *checking status of the actions performed
      CASE sy-ucomm.
        WHEN 'ADD'.               "node successfully added
          MESSAGE s002(zkm_class).
        WHEN 'YES'.               "node successfully deleted
          MESSAGE s003(zkm_class).
        WHEN 'NO' OR 'CANCEL'.    "action cancelled
          MESSAGE s007(zkm_class).
      ENDCASE.
    ENDMODULE.                 " PBO_1000  OUTPUT
    *&      Module  PBO_2000  OUTPUT
          text
    MODULE pbo_2000 OUTPUT.
      SET PF-STATUS 'ZDIALOG'.
      SET TITLEBAR  'ZADD'.
    *setting the attributes of the screen field depending on node attributes
      READ TABLE gt_flag INTO gw_flag WITH KEY node_key = g_node_key.
      IF gw_flag-flag = 3.
        LOOP AT SCREEN.
          IF screen-name      = 'BRANCH'.
            screen-invisible = '1'.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDMODULE.                 " PBO_2000  OUTPUT
    *&      Module  PBO_3000  OUTPUT
          text
    MODULE pbo_3000 OUTPUT.
      SET PF-STATUS 'ZDIALOG'.
      SET TITLEBAR  'ZCONFIRM'.
    ENDMODULE.                 " PBO_3000  OUTPUT
    ***INCLUDE ZKM_PAI_100I01 .
    *&      Module  PAI_1000  INPUT
          text
    MODULE pai_1000 INPUT.
      DATA: return_code TYPE i.
    CL_GUI_CFW=>DISPATCH must be called if events are registered
    that trigger PAI
    this method calls the event handler method of an event
      CALL METHOD cl_gui_cfw=>dispatch
        IMPORTING
          return_code = return_code.
      IF return_code <> cl_gui_cfw=>rc_noevent.
        "a control event occured => exit PAI.
        EXIT.
      ENDIF.
      CASE sy-ucomm.
        WHEN 'ADDND'.
    *check whether node has been selected or not
          IF g_event NE 'NODE_DOUBLE_CLICK'. "AND g_node_key EQ ' '.
            MESSAGE e000(zkm_class).
          ELSE.
    *whether selected node can have sub-branches or not
            READ TABLE gt_nodetable INTO gw_nodetable WITH KEY node_key = g_node_key.
            IF gw_nodetable-isfolder = ' '.
              MESSAGE e006(zkm_class).
            ELSE.
    *call screen for adding the node.
              CALL SCREEN 2000 STARTING AT 20 10.
            ENDIF.
          ENDIF.
          CLEAR g_event.
        WHEN 'DELND'.
    *check whether node has been selected or not
          IF g_event NE 'NODE_DOUBLE_CLICK'.
            MESSAGE e000(zkm_class).
          ELSE.
    *skeleton should not be deleted.
            IF g_node_key EQ 'Capgemini'   OR
               g_node_key EQ 'TSP-SAP-CRM' OR
               g_node_key EQ 'MANAGERS'    OR
               g_node_key EQ 'TEAM LEAD'.
              MESSAGE e004(zkm_class).
            ENDIF.
    *call screen for confirmation
            CALL SCREEN 3000 STARTING AT 20 10.
          ENDIF.
          CLEAR g_event.
        WHEN 'TEST'.
          CALL METHOD g_tree->expand_node
            EXPORTING
              node_key = 'New1'.
        WHEN 'BACK'. " Finish program
          IF NOT g_custom_container IS INITIAL.
    destroy tree container (detroys contained tree control, too)
            CALL METHOD g_custom_container->free
              EXCEPTIONS
                cntl_system_error = 1
                cntl_error        = 2.
            IF sy-subrc <> 0.
             MESSAGE a000.
            ENDIF.
            CLEAR g_custom_container.
            CLEAR g_tree.
          ENDIF.
          LEAVE PROGRAM.
      ENDCASE.
    ENDMODULE.                 " PAI_1000  INPUT
    *&      Module  pai_2000  INPUT
          text
    MODULE pai_2000 INPUT.
      DATA: node_table TYPE node_table_type,
            node LIKE zkm_treesnode.
      CASE sy-ucomm.
        WHEN 'BACK'.
          CALL SCREEN 1000.
        WHEN 'ADD'.
          IF g_nodename IS INITIAL. "Has to enter the Node name
            MESSAGE s005(zkm_class).
            CALL SCREEN 2000 STARTING AT 20 10.
          ELSE.
    *Checking whether specified node already exists or not
            READ TABLE gt_nodetable INTO gw_nodetable WITH KEY node_key =  g_nodename.
            IF sy-subrc EQ 0.
              CLEAR gw_flag.
              MESSAGE s008(zkm_class).
              CALL SCREEN 2000 STARTING AT 20 10.
            ENDIF.
    *assigning attributes to the node
            CLEAR node.
            CLEAR node_table.
            node-node_key = g_nodename.            "Key of the Node.
            node-relatkey  = g_node_key.           "Relationship with the selected node
            node-relatship =  cl_gui_simple_tree=>relat_last_child.
    *checking whether the node would be a folder or a leaf
            READ TABLE gt_flag INTO gw_flag WITH KEY node_key = g_node_key.
            IF gw_flag-flag = 1 OR gw_flag-flag = 2.
              node-hidden    = ' '.
              node-disabled  = ' '.
              node-isfolder  = 'X'.
              CLEAR node-n_image.
              CLEAR node-exp_image.
              CLEAR node-expander.
              IF gw_flag-flag EQ 1.
                gw_flag-flag = 2.
              ELSE.
                gw_flag-flag = 3.
              ENDIF.
            ELSEIF gw_flag-flag = 3.
              node-n_image   = '@XY@'.
              node-isfolder  = ' '.
              node-expander  = ' '.
              gw_flag-flag = 3.
            ENDIF.
            CLEAR node-exp_image.
            node-text = g_nodename.
            APPEND node TO node_table.
    *keeping records of all the nodes added in the tree
            gw_nodetable = node.
            APPEND gw_nodetable TO gt_nodetable.
            CLEAR gw_nodetable.
    *append structure 'FLAG' to group the added node according to position
            gw_flag-relatkey = g_node_key.
            gw_flag-node_key = g_nodename.
            APPEND gw_flag TO gt_flag.
            CLEAR gw_flag.
    *adding nodes in the tree
            CALL METHOD g_tree->add_nodes
              EXPORTING
                table_structure_name           = 'ZKM_TREESNODE'
                node_table                     = node_table
              EXCEPTIONS
                error_in_node_table            = 1
                failed                         = 2
                dp_error                       = 3
                table_structure_name_not_found = 4
                OTHERS                         = 5.
            IF sy-subrc <> 0.
              MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
            ENDIF.
            CLEAR g_nodename.    "clearing screen field
            CALL SCREEN 1000.
          ENDIF.
        WHEN 'CANCEL'.
          CALL SCREEN 1000.
      ENDCASE.
    ENDMODULE.                 " pai_2000  INPUT
    *&      Module  PAI_3000  INPUT
          text
    MODULE pai_3000 INPUT.
      CASE sy-ucomm.
        WHEN 'YES'.      "user agrees to delete the node
          CALL METHOD g_tree->delete_node
            EXPORTING
              node_key          = g_node_key
            EXCEPTIONS
              failed            = 1
              node_not_found    = 2
              cntl_system_error = 3
              OTHERS            = 4.
          IF sy-subrc <> 0.
            MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                       WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          ELSE.
            gw_nodetable-node_key = g_node_key.
            gw_flag-node_key      = g_node_key.
            READ TABLE gt_nodetable INTO gw_nodetable WITH KEY node_key = g_node_key.
            IF sy-subrc EQ 0.
              DELETE gt_nodetable INDEX sy-tabix.
            ENDIF.
            READ TABLE gt_flag INTO gw_flag WITH KEY node_key = g_node_key.
            IF sy-subrc EQ 0.
              DELETE gt_flag INDEX sy-tabix.
            ENDIF.
            CLEAR gw_flag.
            CLEAR gw_nodetable.
            CALL SCREEN 1000.
          ENDIF.
        WHEN 'NO'.       "user clicks the cancel button
          CALL SCREEN 1000.
      ENDCASE.
    ENDMODULE.                 " PAI_3000  INPUT
    ***INCLUDE ZKM_FORM01 .
    *&      Form  create_and_init_tree
          text
    -->  p1        text
    <--  p2        text
    FORM create_and_init_tree .
      DATA: node_table TYPE node_table_type,
              events TYPE cntl_simple_events,
              event TYPE cntl_simple_event.
    *create a container for the tree control.
      CREATE OBJECT g_custom_container
        EXPORTING
           " the container is linked to the custom control with the
           " name 'TREE_CONTAINER' on the dynpro
          container_name              = 'TREE_CONTAINER'
        EXCEPTIONS
          cntl_error                  = 1
          cntl_system_error           = 2
          create_error                = 3
          lifetime_error              = 4
          lifetime_dynpro_dynpro_link = 5
          OTHERS                      = 6
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    *create tree control.
      CREATE OBJECT g_tree
        EXPORTING
          parent                      = g_custom_container
          node_selection_mode         = cl_gui_simple_tree=>node_sel_mode_single
        EXCEPTIONS
          lifetime_error              = 1
          cntl_system_error           = 2
          create_error                = 3
          failed                      = 4
          illegal_node_selection_mode = 5
          OTHERS                      = 6
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    *define events which will be passed to the backend.
      "node double click.
      event-eventid    = cl_gui_simple_tree=>eventid_node_double_click.
      event-appl_event = 'X'.  "process PAI if event occurs.
      APPEND event TO events.
      "expand no children.
      event-eventid    = cl_gui_simple_tree=>eventid_expand_no_children.
      event-appl_event = 'X'.
      APPEND event TO events.
      "node key press
      event-eventid    = cl_gui_simple_tree=>eventid_node_keypress.
      event-appl_event = 'X'.
      APPEND event TO events.
      "NODE_CONTEXT_MENU_REQUEST
      event-eventid    = cl_gui_simple_tree=>eventid_node_context_menu_req.
      event-appl_event = 'X'.
      APPEND event TO events.
      "event node_context_menu_select is automatically registered on registering
      " the event NODE_CONTEXT_MENU_REQUEST
      " process PAI if context menu select event occurs
      CALL METHOD g_tree->set_ctx_menu_select_event_appl
        EXPORTING
          appl_event = 'X'.
      CALL METHOD g_tree->set_registered_events
        EXPORTING
          events                    = events
        EXCEPTIONS
          cntl_error                = 1
          cntl_system_error         = 2
          illegal_event_combination = 3
          OTHERS                    = 4.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
    *assign event handlers in the application class to each desired event.
      SET HANDLER g_application->handle_node_double_click     FOR g_tree.
      SET HANDLER g_application->handle_expand_no_children    FOR g_tree.
      SET HANDLER g_application->handle_node_keypress         FOR g_tree.
      SET HANDLER g_application->handle_node_context_menu_req FOR g_tree.
      SET HANDLER g_application->handle_node_context_menu_sel FOR g_tree.
    add some nodes to the tree control
    NOTE: the tree control does not store data at the backend. If an
    application wants to access tree data later, it must store the
    tree data itself.
      PERFORM build_node_table USING node_table.
      CALL METHOD g_tree->add_nodes
        EXPORTING
          table_structure_name           = 'ZKM_TREESNODE'
          node_table                     = node_table
        EXCEPTIONS
          error_in_node_table            = 1
          failed                         = 2
          dp_error                       = 3
          table_structure_name_not_found = 4
          OTHERS                         = 5.
      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.                    " create_and_init_tree
    *&      Form  BUILD_NODE_TABLE
          text
         -->P_NODE_TABLE  text
    FORM build_node_table
    USING node_table TYPE node_table_type.
      DATA: node LIKE zkm_treesnode.
    Build the node table.
    Caution: The nodes are inserted into the tree according to the order
    in which they occur in the table. In consequence, a node must not
    occur in the node table before its parent node.
    *Node with key 'Capgemini'.
      node-node_key = 'Capgemini'.   "Key of the node.
      CLEAR node-relatkey.      "Special case.. A root node has no parent node.
      CLEAR node-relatship.
      node-hidden   = ' '.      "Node is visible.
      node-disabled = ' '.      "Selectable.
      node-isfolder = 'X'.      "folder.
      CLEAR node-n_image.       "Folder-/ Leaf-Symbol in state "closed":
      "use default.
      CLEAR node-exp_image.     "Folder-/ Leaf-Symbol in state "open".
      "use default.
      CLEAR node-expander.
      node-text = 'Capgemini'.
      APPEND node TO node_table.
      gw_nodetable = node.
      APPEND gw_nodetable TO gt_nodetable.
      CLEAR gw_nodetable.
      CLEAR gw_flag-relatkey.
      gw_flag-node_key = 'Capgemini'.
      gw_flag-flag     = 1.              "Skeleton
      APPEND gw_flag TO gt_flag.
      CLEAR gw_flag.
      CLEAR node.
    *Node with key 'TSP-SAP-CRM'.
      node-node_key = 'TSP-SAP-CRM'. "Key of the Node.
      "Node is inserted as child of the node with key 'Root'.
      node-relatkey  = 'Capgemini'.
      node-relatship = cl_gui_simple_tree=>relat_last_child.
      node-hidden   = ' '.      "Node is visible.
      node-disabled = ' '.      "Selectable.
      node-isfolder = 'X'.      "folder.
      CLEAR node-n_image.       "Folder-/ Leaf-Symbol in state "closed":
      "use default.
      CLEAR node-exp_image.     "Folder-/ Leaf-Symbol in state "open".
      "use default.
      CLEAR node-expander.
      node-text = 'TSP-SAP-CRM'.
      APPEND node TO node_table.
      gw_nodetable = node.
      APPEND gw_nodetable TO gt_nodetable.
      CLEAR gw_nodetable.
    *adding the node for corresponding relatkey
      gw_flag-relatkey = 'Capgemini'.
      gw_flag-node_key = 'TSP-SAP-CRM'.
      gw_flag-flag     = 2.               "Service line
      APPEND gw_flag TO gt_flag.
      CLEAR gw_flag.
    *creating new relatkey in gt_flag
      gw_flag-relatkey = 'TSP-SAP-CRM'.
      gw_flag-node_key = ' '.
      gw_flag-flag     = '2'.
      APPEND gw_flag TO gt_flag.
    *Node with key 'Managers'
      node-node_key  = 'MANAGERS'.
      node-relatkey  = 'TSP-SAP-CRM'.
      node-relatship =  cl_gui_simple_tree=>relat_last_child.
      CLEAR node-n_image.
      CLEAR node-exp_image.
      CLEAR node-expander.   "  = ' '.
      node-isfolder  = 'X'.
      node-text      = 'Managers'.
      APPEND node TO node_table.
      gw_nodetable = node.
      APPEND gw_nodetable TO gt_nodetable.
      CLEAR gw_nodetable.
      gw_flag-relatkey = 'TSP-SAP-CRM'.
      gw_flag-node_key = 'MANAGERS'.
      gw_flag-flag     = 3.                "Levels
      APPEND gw_flag TO gt_flag.
      CLEAR gw_flag.
      gw_flag-relatkey = 'MANAGERS'.
      gw_flag-node_key = ' '.
      gw_flag-flag     = '2'.
      APPEND gw_flag TO gt_flag.
    *Node with key 'Team Lead'.
      node-node_key  = 'TEAM LEAD'.
      node-relatkey  = 'TSP-SAP-CRM'.
      node-relatship =  cl_gui_simple_tree=>relat_last_child.
      CLEAR node-n_image.
      CLEAR node-exp_image.
      CLEAR node-expander.   "  = ' '.
      node-isfolder  = 'X'.
      node-text      = 'TEAM LEAD'.
      APPEND node TO node_table.
      gw_nodetable = node.
      APPEND gw_nodetable TO gt_nodetable.
      CLEAR gw_nodetable.
      gw_flag-relatkey = 'TSP-SAP-CRM'.
      gw_flag-node_key = 'Team_Lead'.
      gw_flag-flag     = 3.               "Levels
      APPEND gw_flag TO gt_flag.
      CLEAR gw_flag.
      gw_flag-relatkey = 'TEAM LEAD'.
      gw_flag-node_key = ' '.
      gw_flag-flag     = '2'.
      APPEND gw_flag TO gt_flag.
    ENDFORM.                    " BUILD_NODE_TABLE
    *&      Form  register_key_strokes
          text
    -->  p1        text
    <--  p2        text
    FORM register_key_strokes .
      g_key = cl_tree_control_base=>key_delete.
      "process PAI if node key press occurs
      CALL METHOD g_tree->add_key_stroke
        EXPORTING
          key               = g_key
        EXCEPTIONS
          failed            = 1
          illegal_key       = 2
          cntl_system_error = 3
          OTHERS            = 4.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      g_key = cl_tree_control_base=>key_enter.
      "process PAI if node key press occurs
      CALL METHOD g_tree->add_key_stroke
        EXPORTING
          key               = g_key
        EXCEPTIONS
          failed            = 1
          illegal_key       = 2
          cntl_system_error = 3
          OTHERS            = 4.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                   WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      g_key = cl_tree_control_base=>key_insert.
      CALL METHOD g_tree->add_key_stroke
        EXPORTING
          key               = g_key
        EXCEPTIONS
          failed            = 1
          illegal_key       = 2
          cntl_system_error = 3
          OTHERS            = 4.
      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.                    " register_key_strokes
    ***INCLUDE ZKM_CL .
    *&       Class LCL_APPLICATION
           Text
    CLASS lcl_application DEFINITION.
      PUBLIC SECTION.
        METHODS:
        handle_node_double_click
         FOR EVENT node_double_click
         OF cl_gui_simple_tree
         IMPORTING node_key,
        handle_expand_no_children
         FOR EVENT expand_no_children
         OF cl_gui_simple_tree
         IMPORTING node_key,
        handle_node_keypress
         FOR EVENT node_keypress
         OF cl_gui_simple_tree
         IMPORTING node_key key,
        handle_node_context_menu_req
         FOR EVENT node_context_menu_request
         OF cl_gui_simple_tree
         IMPORTING node_key menu,
        handle_node_context_menu_sel
         FOR EVENT node_context_menu_select
         OF cl_gui_simple_tree
         IMPORTING node_key fcode.
    ENDCLASS.               "LCL_APPLICATION
    *&       Class (Implementation)  LCL_APPLICATION
           Text
    CLASS lcl_application IMPLEMENTATION.
      METHOD handle_node_double_click.
        " this method handles the node double click event of the tree
        " control instance
        " show the key of the double clicked node in a dynpro field
        g_event = 'NODE_DOUBLE_CLICK'.
        g_node_key = node_key.
      ENDMETHOD.                    "HANDLE_NODE_DOUBLE_CLICK
      METHOD handle_expand_no_children.
        " this method handles the expand no children event of the tree
        " control instance
        DATA: node_table TYPE node_table_type,
              node TYPE zkm_treesnode.
        "show the key of the double clicked node on the dynpro field.
        g_event = 'EXPAND_NO_CHILDREN'.
        g_node_key = node_key.
        IF node_key = 'TSP-SAP-CRM'.
    *add two nodes to the tree control (The children of Child1).
    *Node with key 'New1'.
          CLEAR node.
          node-node_key  = 'Managers'.
          node-relatkey  = 'TSP-SAP-CRM'.
          node-relatship =  cl_gui_simple_tree=>relat_last_child.
          node-n_image   = '@XY@'.
          CLEAR node-exp_image.
          node-expander  = ' '.
          node-isfolder  = ' '.
          node-text      = 'Managers'.
          APPEND node TO node_table.
    *Node with key 'New2'.
          CLEAR node.
          node-node_key  = 'Team_Lead'.
          node-relatkey  = 'TSP-SAP-CRM'.
          node-relatship =  cl_gui_simple_tree=>relat_last_child.
          node-n_image   = '10'.
          CLEAR node-exp_image.
          node-expander  = ' '.
          node-isfolder  = ' '.
          node-text      = 'Team Lead'.
          APPEND node TO node_table.
        ENDIF.
        CALL METHOD g_tree->add_nodes
          EXPORTING
            table_structure_name           = 'MTREESNODE'
            node_table                     = node_table
          EXCEPTIONS
            error_in_node_table            = 1
            failed                         = 2
            dp_error                       = 3
            table_structure_name_not_found = 4
            OTHERS                         = 5.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                     WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
      ENDMETHOD.                    "HANDLE_EXPAND_NO_CHILDREN
      METHOD handle_node_keypress.
        g_node_key =  node_key.
        CASE key.
          WHEN 2.
            g_event = 'DELETE KEY PRESSED'.
            READ TABLE gt_flag INTO gw_flag WITH KEY node_key = g_node_key.
            IF gw_flag-flag EQ 1.
              MESSAGE e004(zkm_class).
            ENDIF.
            CALL SCREEN 3000 STARTING AT 20 10.
            CLEAR g_event.
          WHEN 3.
            g_event = 'INSERT KEY PRESSED'.
            READ TABLE gt_nodetable INTO gw_nodetable WITH KEY node_key = g_node_key.
            IF gw_nodetable-isfolder = ' '.
              MESSAGE e006(zkm_class).
            ELSE.
              CALL SCREEN 2000 STARTING AT 20 10.
              MESSAGE s001(zkm_class).
            ENDIF.
            CLEAR g_event.
          WHEN 5.
            g_event = 'ENTER KEY PRESSED'.
            READ TABLE gt_nodetable INTO gw_nodetable WITH KEY node_key =  node_key.
            IF gw_nodetable-isfolder = ' '.
              MESSAGE e009(zkm_class).
            ELSE.
              CALL METHOD g_tree->expand_node
                EXPORTING
                  node_key            = node_key
                EXCEPTIONS
                  failed              = 1
                  illegal_level_count = 2
                  cntl_system_error   = 3
                  node_not_found      = 4
                  cannot_expand_leaf  = 5
                  OTHERS              = 6.
              IF sy-subrc <> 0.
                MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                           WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
              ENDIF.
            ENDIF.
        ENDCASE.
        CALL METHOD g_tree->remove_all_key_strokes
          EXCEPTIONS
            failed            = 1
            cntl_system_error = 2.
      ENDMETHOD.                    "HANDLE_NODE_KEYPRESS.
      METHOD handle_node_context_menu_req.
        g_event    = 'NODE_CONTEXT_MENU_REQ'.
        g_node_key = node_key.
        CALL METHOD menu->add_function
          EXPORTING
            fcode = 'ADD'
            text  = 'Add Node'.
        CALL METHOD menu->add_function
          EXPORTING
            fcode = 'DELETE'
            text  = 'Delete Node'.
      ENDMETHOD.                    "handle_node_context_menu_req
      METHOD handle_node_context_menu_sel.
        g_event = 'NODE_CONTEXT_MENU_SELECT'.
        CASE fcode.
          WHEN 'ADD'.
            READ TABLE gt_nodetable INTO gw_nodetable WITH KEY node_key = g_node_key.
            IF gw_nodetable-isfolder = ' '.
              MESSAGE e006(zkm_class).
            ELSE.
              CALL SCREEN 2000 STARTING AT 20 10.
              MESSAGE s001(zkm_class).
            ENDIF.
            CLEAR g_event.
          WHEN 'DELETE'.
            IF g_node_key EQ 'Capgemini'   OR
               g_node_key EQ 'TSP-SAP-CRM' OR
               g_node_key EQ 'MANAGERS'    OR
               g_node_key EQ 'TEAM LEAD'.
              MESSAGE e004(zkm_class).
            ENDIF.
            CALL SCREEN 3000 STARTING AT 20 10.
            CLEAR g_event.
        ENDCASE.
      ENDMETHOD.                    "handle_node_context_menu_sel
    ENDCLASS.               "LCL_APPLICATION
    This is a complete tree control application..  I am sure it will solve all your problems.
    Pls pls reward points if useful.
    Regards,
    Karan

  • WSDL - No Result Tree to Report On

    Hi -
    I was trying to create a report based on web services. I got the below error message:
    'This Web service does not have a result tree in its definition that is appropriate for a report. You may wish to run the Form on Web Service wizard instead.'
    Am I doing sth wrong? even when I create only Form, then no data is presented.
    How can I create a report based on data from web service when I have WSDL provided?
    Thanks,
    Tom
    Message was edited by:
    Tom01

    This has been the subject of bug 5394491 for several weeks now without any resolution. It looks like this error will prevent the use of Jdeveloper web services that use array parameters in the current versions of Application Express. We are not planning to use Application Express for this purpose any more as there is no information about the bug (or fix) forthcoming.

  • Tree Matrix Report with double line heading

    Hi,
    I am very new to HTML-DB and HTML as well.
    I need to create a matrix report with a tree functionality and with two line heading.
    Basically This is what I need to generate
    REGION1 REGION2 REGION3
    COL1 COL2 TOTAL COL1 COL2 TOTAL COL1 COL2 TOTAL
    ===========================================================
    CAT1+
    Sub_CAT1
    Sub_CAT2
    CAT2+
    Sub_SCAT3
    Sub_SCAT4
    Where CAT1 , CAT2 needs to be collapsible rows. SCAT1..SCAT4 are sub categories under main categories.
    REGION1.... REGION3 are top level headings. And COL1,COL2 are sub headings under top level headings.
    Thanks,
    Shri

    Please help me on this!
    Thanks,
    Shri

  • Organization/Tree structure report in BOBJ

    Hello All,
    Recently received a requirement for a "report" which to me initially did not look like a report, but rather a model of an organization chart/tree.   I am trying to figure out if something like this is possible to do in any of the BOBJ tools (WEBI/Crystal/Dashboards).  The Level0, Level1 and Level2 objects are all dynamic and there would be multiple Overall Processes - Level 0s (let's say 15).  Each process is then broken down into the respective Level1 and then further into Level 2.  All these levels are dynamic (there could be 2 level1s, 5, etc) and would come from a database (I'm not sure exactly what the data structure would look like, but it can be modeled specifically for this reason).   I see it as a type of hierarchy (but vertical) , but I am having trouble reproducing it in WEBI / Crystal.  I tried a CrossTable report in WEBI, and it almost gets me there but it shows all the Level 2s for each level 1 - can't do that type of breakdown where it compresses the rows dynamically.  What it looks like we are trying to do here is create a horizontal table for Level 0 and Level 1, but then a vertical table for Level 2.  I'm just looking for any ideas on how this may be possible as this is not your typical report.

    The issue we seem to be having is the fact that we need to create multiple vertical tables (level 2s) for each column (Level1). 
    The data looks as such
    Level 0              Level 1       System
    Overall Process Create        System1
    Overall Process Create        System2
    Overall Process Create        System3
    Overall Process Create        System4
    Overall Process Create        System5
    Overall Process Create        System6
    Overall Process Create        System7
    Overall Process Create        System8
    Overall Process Develop      System1
    Overall Process Develop      System2
    Overall Process Develop      System3
    Overall Process Develop      System4
    Overall Process Develop      System5
    Overall Process Develop      System6
    Overall Process Develop      System7
    Overall Process Award        System7
    Overall Process Award        System1
    Overall Process Award        System2
    So the Level 1s (Create/Develop/Award...) are rows and have a relation to the systems. But the systems are required to be shown as columns, each related to level 1.  But the level 0/1s are dynamic..there could be 1 to 15 Level 0s and 1 to 16 Level 1s.  I can make this relationship show as a cross table, but having a hard time (without doing some Excel Magic in Dasboards) to make it show as a "chart"

  • How to Display Heading for TREE Structure (report)

    hi,
         tell me how display the heading for the TREE Report.
    With Regards,
    Shakthi Raj N.

    Hi,
    If you are using object oriented approach for developing the Tree report, then you can use below shown example for creating header for the report.
      first create tree control
      CREATE OBJECT TREE1
        EXPORTING
            PARENT              = G_CONTAINER_OBJECT
            NODE_SELECTION_MODE = CL_GUI_COLUMN_TREE=>NODE_SEL_MODE_SINGLE
            ITEM_SELECTION      = ''
            NO_HTML_HEADER      = ''
            NO_TOOLBAR          = ''
        EXCEPTIONS
            CNTL_ERROR                   = 1
            CNTL_SYSTEM_ERROR            = 2
            CREATE_ERROR                 = 3
            LIFETIME_ERROR               = 4
            ILLEGAL_NODE_SELECTION_MODE  = 5
            FAILED                       = 6
            ILLEGAL_COLUMN_NAME          = 7.
      CLEAR GT_HEADER.
      GT_HEADER-TYP = 'H'.
      GT_HEADER-INFO = 'Output'.
      APPEND GT_HEADER.
      CLEAR GT_HEADER.
      GT_HEADER-TYP = 'S'.
      GT_HEADER-KEY = 'Display'.
      GT_HEADER-INFO = 'Report'.
      APPEND GT_HEADER.
    then create empty tree-control
      CALL METHOD TREE1->SET_TABLE_FOR_FIRST_DISPLAY
              EXPORTING
                   IS_HIERARCHY_HEADER  = G_HIERARCHY_HEADER
                   I_BACKGROUND_ID      = 'ALV_BACKGROUND'
                   IT_LIST_COMMENTARY   = GT_HEADER[]
              CHANGING
                   IT_OUTTAB            = GT_SPFLI[]    "empty table
                   IT_FIELDCATALOG      = GT_FIELDCAT_LVC[].
    In this way header can be given for Tree report.
    Hope this answers your query.
    Regards,
    Brajvir

  • Tree structured Report programming

    Hi,
    I have a requirement of a Report which has to have a Tree structure similar to SE09 Transaction. When we give the User id in the SE09 and hit on Display button the next screen lists all the Transport requests under the user in a Tree structure which can be exploded or collapsed.
    I want to know how complicated is this to code, is there any Function module that can help acheive this. Also let me if there is a sample program.
    Appreciate your help on this.
    Thanks and Regards,
    Saleem.

    Hi Saleem,
    Check this sample code,
    REPORT  Z_AZAZ_TEST_TREE_1                      .
    TYPE-POOLS : FIBS,STREE.
    DATA : T_NODE TYPE SNODETEXT.
    DATA : NODE_TAB LIKE T_NODE OCCURS 0 WITH HEADER LINE.
    CLEAR : NODE_TAB, NODE_TAB[].
    NODE_TAB-TYPE = 'T'.
    NODE_TAB-NAME = 'Earth'.
    NODE_TAB-TLEVEL = '01'.
    NODE_TAB-NLENGTH = '5'.
    NODE_TAB-COLOR = '4'.
    NODE_TAB-TEXT = 'Hello'.
    NODE_TAB-TLENGTH ='5'.
    NODE_TAB-TCOLOR = 3.
    APPEND NODE_TAB.
    CLEAR NODE_TAB.
    NODE_TAB-TYPE = 'P'.
    NODE_TAB-NAME = 'Europe'.
    NODE_TAB-TLEVEL = '02'.
    NODE_TAB-NLENGTH = '6'.
    NODE_TAB-COLOR = '1'.
    NODE_TAB-TEXT = 'Hello'.
    NODE_TAB-TLENGTH ='5'.
    NODE_TAB-TCOLOR = 4.
    APPEND NODE_TAB.
    CLEAR NODE_TAB.
    NODE_TAB-TYPE = 'P'.
    NODE_TAB-NAME = 'Germany'.
    NODE_TAB-TLEVEL = '03'.
    NODE_TAB-NLENGTH = '7'.
    NODE_TAB-COLOR = '4'.
    NODE_TAB-TEXT = 'Hello'.
    NODE_TAB-TLENGTH ='5'.
    NODE_TAB-TCOLOR = 4.
    APPEND NODE_TAB.
    CLEAR NODE_TAB.
    NODE_TAB-TYPE = 'P'.
    NODE_TAB-NAME = 'Berlin'.
    NODE_TAB-TLEVEL = '04'.
    NODE_TAB-NLENGTH = '6'.
    NODE_TAB-COLOR = '4'.
    NODE_TAB-TEXT = 'Hello'.
    NODE_TAB-TLENGTH ='5'.
    NODE_TAB-TCOLOR = 3.
    APPEND NODE_TAB.
    CLEAR NODE_TAB.
    NODE_TAB-TYPE = 'P'.
    NODE_TAB-NAME = 'Asia'.
    NODE_TAB-TLEVEL = '02'.
    NODE_TAB-NLENGTH = '4'.
    NODE_TAB-COLOR = '1'.
    NODE_TAB-TEXT = 'Hello'.
    NODE_TAB-TLENGTH ='5'.
    NODE_TAB-TCOLOR = 3.
    APPEND NODE_TAB.
    CLEAR NODE_TAB.
    NODE_TAB-TYPE = 'P'.
    NODE_TAB-NAME = 'India'.
    NODE_TAB-TLEVEL = '03-'.
    NODE_TAB-NLENGTH = '5'.
    NODE_TAB-COLOR = '1'.
    NODE_TAB-TEXT = 'Hello'.
    NODE_TAB-TLENGTH ='5'.
    NODE_TAB-TCOLOR = 3.
    APPEND NODE_TAB.
    CLEAR NODE_TAB.
    NODE_TAB-TYPE = 'P'.
    NODE_TAB-NAME = 'Bombay'.
    NODE_TAB-TLEVEL = '04-'.
    NODE_TAB-NLENGTH = '6'.
    NODE_TAB-COLOR = '1'.
    NODE_TAB-TEXT = 'Hello'.
    NODE_TAB-TLENGTH ='5'.
    NODE_TAB-TCOLOR = 3.
    APPEND NODE_TAB.
    CLEAR NODE_TAB.
    CALL FUNCTION 'RS_TREE_CONSTRUCT'
    EXPORTING
      INSERT_ID                = '000000'
      RELATIONSHIP             = ' '
      LOG                      =
      TABLES
        NODETAB                  = NODE_TAB
    EXCEPTIONS
      TREE_FAILURE             = 1
      ID_NOT_FOUND             = 2
      WRONG_RELATIONSHIP       = 3
      OTHERS                   = 4
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
      DATA: TYPE_MAPPING TYPE STREE_CTL_TYPE_MAPPING_TAB.
      DATA: WA_TYPE TYPE STREE_CTL_TYPE_MAPPING.
      CLEAR: TYPE_MAPPING[].
        WA_TYPE-TYPE = 'A'.
        WA_TYPE-ICON = '@BL@'.
        APPEND WA_TYPE TO TYPE_MAPPING.
    *CALL FUNCTION 'RS_TREE_CONTROL_PREPARE'
    EXPORTING
      CONTROL_PATTERN             = STREE_CTL_GENERIC
       CONTROL_PATTERN             = 'PH'
      HIERARCHY_HEADER            =
      INITIAL_HEADER_WIDTH        =
      LIST_ITEM_HEADER            =
      MULTIPLE_SELECTION          = 'X'
      ITEM_SELECTION              = STREE_FALSE
      SUPPRESS_NODE_ICON          = STREE_FALSE
      SUPPRESS_FOLDER_ICON        = STREE_FALSE
      CALLBACK_PROGRAM            =
      CALLBACK_ITEM_DISPLAY       =
      COLOR_MAPPING               =
        TYPE_MAPPING                = type_mapping
    IMPORTING
      SUBSCREEN_PROGRAM           =
      SUBSCREEN_DYNNR             =
    EXCEPTIONS
      NOT_AVAILABLE               = 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.
    *CALL FUNCTION 'RS_TREE_SET_CURRENT_LAYOUT'
    EXPORTING
      CURSOR_COLUMN             = 3
      CURSOR_LINE               = 2
      FIRST_NODE                = 1
      FIRST_NODE_TYPE           = ' '
      LIST_COLUMN               = 1
      LIST_LINE                 = 1
      LAYOUT_MODE               = STREE_LAYOUT_NORMAL
    IMPORTING
      INCONSISTENT_LAYOUT       =
    TABLES
      LAYOUT                    =
    CALL FUNCTION 'RS_TREE_LIST_DISPLAY'
    EXPORTING
      CALLBACK_PROGRAM                =
      CALLBACK_USER_COMMAND           =
      CALLBACK_TEXT_DISPLAY           =
      CALLBACK_MOREINFO_DISPLAY       =
      CALLBACK_COLOR_DISPLAY          =
      CALLBACK_TOP_OF_PAGE            =
      CALLBACK_GUI_STATUS             =
      CALLBACK_CONTEXT_MENU           =
      STATUS                          = 'IMPLICIT'
      CHECK_DUPLICATE_NAME            = '1'
      COLOR_OF_NODE                   = '4'
      COLOR_OF_MARK                   = '3'
      COLOR_OF_LINK                   = '1'
      COLOR_OF_MATCH                  = '5'
      LOWER_CASE_SENSITIVE            = ' '
      MODIFICATION_LOG                = ' '
      NODE_LENGTH                     = 30
      TEXT_LENGTH                     = 75
      TEXT_LENGTH1                    = 0
      TEXT_LENGTH2                    = 0
      RETURN_MARKED_SUBTREE           = ' '
      SCREEN_START_COLUMN             = 0
      SCREEN_START_LINE               = 0
      SCREEN_END_COLUMN               = 0
      SCREEN_END_LINE                 = 0
      SUPPRESS_NODE_OUTPUT            = ' '
      LAYOUT_MODE                     = ' '
      USE_CONTROL                     = STREE_USE_LIST
       USE_CONTROL                     = 'L'.
    IMPORTING
      F15                             =
    Regards,
    Azaz Ali.

  • Help required to attach CO-PA reports to Report Tree.

    HI experts,
    Me and my functional are in urgent need of important information. My functional has generate CO-PA reports and now they have asked us to attach those reports to a report tree. My problem is that I have got the transaction SERP which seems useful in attaching the reports the tree. Kindly suggest what is to be done.
    Points will be rewarded.
    Thanks and Regards,
    Saurabh Chhatre

    Hi,
    Check the following links:
    http://www.sap-img.com/abap/tree-type-report-in-abap.htm
    http://www.sap-img.com/ge002.htm
    Regards,
    Bhaskar

  • ALV TREE Report

    Dear all,
    I am currently working on a tree alv report. Here i have 3 levels of heirearchy each heirearchy level has different fields to be displayed. Can anyone please help me out how to build the fieldcatalog when the field changes for each heirearchy level? If anyone can help me with sample report will be rewarded with points.
    Example:
    1st level - Netwrok Activity -- Display Fields from AFVC table
    2nd level - Components of Activity - Display fields from RESB Table
    3rd Level - Items of Component - Display fields from STPO table
    We dont have such example in BCLAVTREE if so pls help me with some sample code of program how to build fieldcatolog.
    Thanks & Regards
    Sathish

    Hi,
    If it's going three level drill down list then you can use can see following piece of code. declaration should be like this.
    top_of_page type slis_formname value 'TOP_OF_PAGE',
    end_of_page type slis_formname value 'END_OF_PAGE',
    user_command type slis_formname value 'USER_COMMAND',
    pf_status_set type slis_formname value 'PF_STATUS_SET',
    user_command1 type slis_formname value 'USER_COMMAND1',
    pf_status_set1 type slis_formname value 'PF_STATUS_SET1',
    and displaying the first list will be.
    call function 'REUSE_ALV_GRID_DISPLAY'
    exporting
    * I_INTERFACE_CHECK = ' '
    * I_BYPASSING_BUFFER =
    * I_BUFFER_ACTIVE = ' '
    i_callback_program = name
    i_callback_pf_status_set = pf_status_set
    i_callback_user_command = user_command
    * I_STRUCTURE_NAME =
    i_callback_top_of_page = 'TOP-OF-PAGE'
    i_grid_title = 'CUSTOMER GROUP WISE REPORT'
    is_layout = layout
    it_fieldcat = fieldcat_t
    * IT_EXCLUDING =
    * IT_SPECIAL_GROUPS =
    * it_sort = SORT_T
    * IT_FILTER =
    * IS_SEL_HIDE =
    i_default = 'X'
    i_save = 'A'
    * IS_VARIANT =
    * it_events = events_t
    * IT_EVENT_EXIT =
    * IS_PRINT =
    * IS_REPREP_ID =
    * IT_ADD_FIELDCAT = FIELDCAT_T1
    * I_SCREEN_START_COLUMN = 0
    * I_SCREEN_START_LINE = 0
    * I_SCREEN_END_COLUMN = 0
    * I_SCREEN_END_LINE = 0
    * IMPORTING
    * E_EXIT_CAUSED_BY_CALLER =
    * ES_EXIT_CAUSED_BY_USER =
    tables
    t_outtab = it_basic.
    and capturing user command will be like this.
    form user_command using ucomm like sy-ucomm
    selfield type slis_selfield.
    case ucomm.
    when '&IC1'.
    read table it_basic index selfield-tabindex.
    perform get_data_first_list using it_basic-kdgrp.
    when '&PLEVEL'.
    when '&CUST'.
    when '&F15'.
    leave to screen 0.
    endcase.
    endform. "user_command
    you may be able to display the similar when the double click a line or clicking on a button.
    if you want have mulitple header lines on the top of page you can this.
    form top-of-page.
    *ALV Header declarations
    data: t_header type slis_t_listheader,
    wa_header type slis_listheader.
    wa_header-typ = 'H'.
    wa_header-info = xhead.
    append wa_header to t_header.
    clear wa_header.
    concatenate sy-datum+6(2) sy-datum+4(2) sy-datum+0(4) into xhead1
    separated by '.'.
    wa_header-typ = 'H'.
    wa_header-info = xhead1.
    append wa_header to t_header.
    clear wa_header.
    * append t_header.
    *append t_header.
    call function 'REUSE_ALV_COMMENTARY_WRITE'
    exporting
    it_list_commentary = t_header.
    * i_logo = 'Z_LOGO'.
    endform. "top-of-page
    May it helps you.
    Regards.
    DS

  • CR 2008 report not displaying until Group Tree clicked

    We are having an issue with our CR 2008 web based reports.  The reports run correctly locally, but not when launched from a Windows 2008 Server on which we installed Crystal Reports 2008 Fix Pack 3.3 - Redist Install.  This is a web based application written in ASP.NET and .NET framework 3.5.
    When the report viewer is invoked, the Group Tree in the left hand pane appears with valid group data.  The report viewer pane, however, is blank.  If we click a node in the Group Tree, the report appears.  If we click in the Page Number field and press ENTER, the report appears.  As I previously mentioned, it works correctly when run locally from our development workstation.
    This happens on all reports.  We've created a brand new report with no groups and the same situation occurs.  We've turned off the Group Tree in code with the same result.  We've tried setting various properties on the viewer itself, and have even tried adding a bit of Javascript to have the page refresh the report after it appears, all to no avail.
    Has anyone else seen this issue that might be able to suggest what we do differently to work around this issue?
    Thanks in advance.

    Thanks for the suggestion David.  I tried that this morning but the issue still remained.  Are there any known issues with the latest 3.3 patch and the viewer?
    As an added note, the issue is not browser specific.  It happens in both IE and Firefox.
    Thank you.

  • Is it possible to create hierarchical tree report (not group tree) CR2008?

    Hi,
    Is it possible to create hierarchical tree kind report using CR 2008(no group tree in the report)?  The report somewhat look like below and a node can have multiple Child and so and so. Is there any magical way either as a chart or any object which supports the below structure.
                                                          Parent1
                                           Child1              Child2             Child3             Child4          Child5
                     Child1A     Child1B      Child1C
        Child1Aa  Child1Ab
    its hierarchical tree  structure and it should be in detail section of the report so that print in paper is possible.
    Please help first of all, can we able to create a report in above structure(each item needs to be surronuded with box and the each last child will contain a table valued data.
    (if I post this thread, it may look like plain text, please consider the above data as a hierarchical tree  structure with child having N number of children)
    Thanks

    Moved from .NET Development - Crystal Reports forum to Crystal Reports Design forum.
    Ludek

  • Report is Blank Until you Click Group Tree

    Hello,
    I have a report that is opening as a totally blank page (except for group tree).  When you click on group tree, the report appears.  Once this happens, you can refresh the report, and it is fine.
    Can someone tell me what is happening, and how I can fix it?
    Thanks.

    As you've discovered, this can be caused when the Preview app on a Mac saves a PDF form. Any script you download has to be installed in the correct location and then Acrobat has to be restarted. Here's a link to an updated script that works with Reader: http://kb2.adobe.com/community/publishing/885/cpsid_88564.html
    An alternative to using a script with Acrobat is to export the form data and then reimporting it into the form.

  • Report Header is hided when navigating in the Group Tree

    Hello there,
    I have an issue when navigating in CR reports by using the Group Tree.  When I chose an entry in the tree, the Report header is hided.  Please advise what needs to be changed in order to keep the report header during Group Tree navigation
    thanks

    Report Header is only visible on the first page of the report. If you click on an entry that is on the first page of the report, is the report header visible then?
    If you want the information in the report header visible on every page, consider moving it to a page header.

Maybe you are looking for

  • Reg: ME21 Purchase Order Creation BDC Codes

    Hi All, Ritenow Im working with ME21 purchase order creation, i have to create a upload program for this past twodays im geting hectic with this prog, if i create a prog using me21n transaction it is not running, and in ME21 i cant record in SHDB( it

  • Depreciation to different accounts

    Dear all, I have a requirement for vehicle depreciation. Company rents cars and when a car is rented, we want to post the depreciation to account 700, but when the car is not rented, we want to post the depreciation to account 780. Is this possible?

  • Napster To

    I recently subscribed for the free trial of Napster-to-Go, as my Creative Zen Touch was not on the list of incompatible players. However, when I tried to transfer the music files on to my Zen Touch, it said it was not a compatible player. Does anyone

  • Lost pics

    I have lost all my pictures in Organizer in PS Elements 11 I have tried "File - Manage Catalogue- to no avail - what next?

  • Bug? in Microsoft.WindowsAzure.Storage.Core.Auth.SharedAccessSignatureHelper

    We generated a SAS for Table Access and could not get Access.             var tableUri = table.Uri.AbsoluteUri;             var sharedAccessSignature = table.GetSharedAccessSignature(policy, null, partitionKey, rowKey, partitionKey, rowKey);