<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: ALV Tree Report in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-report/m-p/2447464#M548280</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Plz check the following code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM alv_init_report_events TABLES ot_events TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR   ot_events.&lt;/P&gt;&lt;P&gt;  REFRESH ot_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ot_events-name = slis_ev_user_command.&lt;/P&gt;&lt;P&gt;  ot_events-form = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;  APPEND ot_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command USING value(iv_ucomm) LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                        is_selfield     TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE iv_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.                                  "ALV record selection&lt;/P&gt;&lt;P&gt;      PERFORM display_record USING is_selfield.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  when ...&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Ruchika&lt;/P&gt;&lt;P&gt;Reward if useful.........&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 26 Jun 2007 07:12:36 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-06-26T07:12:36Z</dc:date>
    <item>
      <title>ALV Tree Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-report/m-p/2447463#M548279</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I Have created a ALV tree report using oop's.&lt;/P&gt;&lt;P&gt;The first level is the company code. &lt;/P&gt;&lt;P&gt;Second level is the plants allocated to each company code,&lt;/P&gt;&lt;P&gt;Third level is the materials in each plant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now i want to display the screen MM03 when i click on the material. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  USER_COMMAND_0100  INPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.
DATA :  R_UCOMM LIKE SY-UCOMM,
        R_SELFIELD TYPE SLIS_SELFIELD.

CASE : R_UCOMM.

WHEN '&amp;amp;IC1'.

        read table itab3 index R_SELFIELD-tabindex.
        check sy-subrc eq 0.
        set parameter id 'MAT' field itab3-matnr.
        call transaction 'MM03' and skip first screen.

 WHEN OTHERS.
 LEAVE SCREEN.

 ENDCASE.


ENDMODULE.                 " USER_COMMAND_0100  INPUT&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the code i have written. I am calling this module in the PAI event.&lt;/P&gt;&lt;P&gt;Help please &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards &lt;/P&gt;&lt;P&gt;Dinesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 07:09:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-report/m-p/2447463#M548279</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T07:09:50Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Tree Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-report/m-p/2447464#M548280</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Plz check the following code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM alv_init_report_events TABLES ot_events TYPE slis_t_event.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR   ot_events.&lt;/P&gt;&lt;P&gt;  REFRESH ot_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ot_events-name = slis_ev_user_command.&lt;/P&gt;&lt;P&gt;  ot_events-form = 'USER_COMMAND'.&lt;/P&gt;&lt;P&gt;  APPEND ot_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM user_command USING value(iv_ucomm) LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;                        is_selfield     TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE iv_ucomm.&lt;/P&gt;&lt;P&gt;    WHEN '&amp;amp;IC1'.                                  "ALV record selection&lt;/P&gt;&lt;P&gt;      PERFORM display_record USING is_selfield.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  when ...&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ...&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " USER_COMMAND&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Ruchika&lt;/P&gt;&lt;P&gt;Reward if useful.........&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 07:12:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-report/m-p/2447464#M548280</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T07:12:36Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Tree Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-report/m-p/2447465#M548281</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check it.&lt;/P&gt;&lt;P&gt;FORM user_command USING r_ucomm LIKE sy-ucomm&lt;/P&gt;&lt;P&gt;rs_selfield TYPE slis_selfield.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE r_ucomm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHEN 'PICK'. " Double click line&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check field clicked on within ALVgrid report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IF rs_selfield-fieldname = 'VBELN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Read data table, using index of row user clicked on&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;READ TABLE t_disp_tab INTO wa_item_tab INDEX&lt;/P&gt;&lt;P&gt;rs_selfield-tabindex.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set parameter ID for transaction screen field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SET PARAMETER ID 'VL' FIELD wa_item_tab-vbeln.&lt;/P&gt;&lt;P&gt;CALL TRANSACTION 'VL03N' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;endform.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Jay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 07:21:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-report/m-p/2447465#M548281</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T07:21:53Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Tree Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-report/m-p/2447466#M548282</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is my program. Please check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;SIMPLE_TREE_CONTROL                                                  *
*&amp;amp;                                                                     *
*&amp;amp;---------------------------------------------------------------------*

REPORT SAPSIMPLE_TREE_CONTROL_DEMO MESSAGE-ID TREE_CONTROL_MSG.

TYPE-POOLS: SLIS.

* Tables
TABLES:T001,
       T001K,
       T001W.

CLASS LCL_APPLICATION DEFINITION DEFERRED.
CLASS CL_GUI_CFW DEFINITION LOAD.

TYPES: NODE_TABLE_TYPE LIKE STANDARD TABLE OF MTREESNODE
         WITH DEFAULT KEY.

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,
      G_OK_CODE TYPE SY-UCOMM.

* Fields on Dynpro 100
DATA: G_EVENT(30),
      G_NODE_KEY TYPE TV_NODEKEY.

TYPES: BEGIN OF TYP_ONE,
       BUKRS TYPE T001K-BUKRS,
       WERKS TYPE T001W-WERKS,
       BWKEY TYPE T001K-BWKEY,
       END OF TYP_ONE.

DATA : BEGIN OF ITAB2 OCCURS 0,
        BUKRS TYPE T001K-BUKRS,
        END OF ITAB2.

DATA : BEGIN OF ITAB3 OCCURS 0,
       MATNR TYPE MARC-MATNR,
       WERKS TYPE MARC-WERKS,
       END OF ITAB3.

DATA: ITAB1 TYPE STANDARD TABLE OF TYP_ONE WITH HEADER LINE,
      WA_ITAB1 TYPE TYP_ONE.

DATA: LVL1 LIKE MTREESNODE-NODE_KEY,
      LVL2 LIKE MTREESNODE-NODE_KEY,
      LVL3 LIKE MTREESNODE-NODE_KEY.

*----------------------------------------------------------------------*
*   INCLUDE SIMPLE_TREE_CONTROL_DEMOCL1                                *
*----------------------------------------------------------------------*

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.
ENDCLASS.                    "LCL_APPLICATION DEFINITION

*---------------------------------------------------------------------*
*       CLASS LCL_APPLICATION IMPLEMENTATION
*---------------------------------------------------------------------*
*
*---------------------------------------------------------------------*
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 MTREESNODE,
          LD_NODE TYPE STRING.

    " show the key of the double clicked node in a dynpro field
    G_EVENT = 'EXPAND_NO_CHILDREN'.
    G_NODE_KEY = NODE_KEY.

    IF NODE_KEY = 'Child1'.                                 "#EC NOTEXT
    ENDIF.
  ENDMETHOD.                    "HANDLE_EXPAND_NO_CHILDREN

ENDCLASS.                    "LCL_APPLICATION IMPLEMENTATION


*-------------------------------------------------------------------
***INCLUDE simple_tree_control_demoO01 .
*-------------------------------------------------------------------
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  PBO_0400  OUTPUT
*&amp;amp;---------------------------------------------------------------------*

MODULE PBO_0100 OUTPUT.
  SET PF-STATUS 'STAUS_1'.
  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.
ENDMODULE.                 " PBO_0100  OUTPUT

*-------------------------------------------------------------------
***INCLUDE simple_tree_control_demoI01 .
*-------------------------------------------------------------------
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  PAI_0400  INPUT
*&amp;amp;---------------------------------------------------------------------*

MODULE PAI_0100 INPUT.
  DATA: RETURN_CODE TYPE I.

  CALL METHOD CL_GUI_CFW=&amp;gt;DISPATCH
    IMPORTING
      RETURN_CODE = RETURN_CODE.
  IF RETURN_CODE &amp;lt;&amp;gt; CL_GUI_CFW=&amp;gt;RC_NOEVENT.
    " a control event occured =&amp;gt; exit PAI
    CLEAR G_OK_CODE.
    EXIT.
  ENDIF.

  CASE G_OK_CODE.
    WHEN 'TEST'.
      CALL METHOD G_TREE-&amp;gt;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-&amp;gt;FREE
          EXCEPTIONS
            CNTL_SYSTEM_ERROR = 1
            CNTL_ERROR        = 2.
        IF SY-SUBRC &amp;lt;&amp;gt; 0.
          MESSAGE A000.
        ENDIF.
        CLEAR G_CUSTOM_CONTAINER.
        CLEAR G_TREE.
      ENDIF.
      LEAVE PROGRAM.
  ENDCASE.
* CAUTION: clear ok code!
  CLEAR G_OK_CODE.
ENDMODULE.                 " PAI_0100  INPUT

*-------------------------------------------------------------------
***INCLUDE simple_tree_control_demoF01 .
*-------------------------------------------------------------------

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CREATE_AND_INIT_TREE
*&amp;amp;---------------------------------------------------------------------*

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.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE A000.
  ENDIF.


* create a tree control
  CREATE OBJECT G_TREE
    EXPORTING
      PARENT              = G_CUSTOM_CONTAINER
      " single node selection is used
      NODE_SELECTION_MODE = CL_GUI_SIMPLE_TREE=&amp;gt;NODE_SEL_MODE_SINGLE
    EXCEPTIONS
      LIFETIME_ERROR              = 1
      CNTL_SYSTEM_ERROR           = 2
      CREATE_ERROR                = 3
      FAILED                      = 4
      ILLEGAL_NODE_SELECTION_MODE = 5.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE A000.
  ENDIF.

* define the events which will be passed to the backend
  " node double click
  EVENT-EVENTID = CL_GUI_SIMPLE_TREE=&amp;gt;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=&amp;gt;EVENTID_EXPAND_NO_CHILDREN.
  EVENT-APPL_EVENT = 'X'.
  APPEND EVENT TO EVENTS.

  CALL METHOD G_TREE-&amp;gt;SET_REGISTERED_EVENTS
    EXPORTING
      EVENTS                    = EVENTS
    EXCEPTIONS
      CNTL_ERROR                = 1
      CNTL_SYSTEM_ERROR         = 2
      ILLEGAL_EVENT_COMBINATION = 3.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE A000.
  ENDIF.

* assign event handlers in the application class to each desired event
  SET HANDLER G_APPLICATION-&amp;gt;HANDLE_NODE_DOUBLE_CLICK FOR G_TREE.
  SET HANDLER G_APPLICATION-&amp;gt;HANDLE_EXPAND_NO_CHILDREN FOR G_TREE.

  PERFORM BUILD_NODE_TABLE USING NODE_TABLE.

ENDFORM.                    " CREATE_AND_INIT_TREE
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  build_node_table
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*

FORM BUILD_NODE_TABLE
  USING
    NODE_TABLE TYPE NODE_TABLE_TYPE.

  DATA: NODE LIKE MTREESNODE,
        LD_NODE TYPE STRING.

  DELETE ITAB3 WHERE MATNR = ' '.
  LOOP AT ITAB2 .
    LVL1 = SY-TABIX.
    CONDENSE LVL1.
    CONCATENATE 'LV1' LVL1 INTO LVL1.
* 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 'Root'
    NODE-NODE_KEY = LVL1. "ITAB2-BUKRS.  " 'Root'.   #EC NOTEXT
    " Key of the node
    CLEAR NODE-RELATKEY.      " Special case: A root node has no parent
    CLEAR NODE-RELATSHIP.     " node.

    NODE-HIDDEN = ' '.        " The node is visible,
    NODE-DISABLED = ' '.      " selectable,
    NODE-ISFOLDER = 'X'.      " a 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.      " see below.
    NODE-TEXT = ITAB2-BUKRS.
    APPEND NODE TO NODE_TABLE.

* Node with key 'Child1'
*     Node with key wa_itab1-bwkey    "'Child1'
    " Key of the node
    LOOP AT ITAB1 INTO WA_ITAB1 WHERE BUKRS EQ ITAB2-BUKRS.

      LVL2 = SY-TABIX.
      CONDENSE LVL2.
      CONCATENATE 'LV2' LVL2 INTO LVL2.

      LD_NODE = SY-TABIX.
      CONCATENATE WA_ITAB1-WERKS LD_NODE INTO LD_NODE.
      NODE-NODE_KEY = LVL2.
      "wa_ITAB1-WERKS. "ld_node.  "'Child1'. #EC NOTEXT

      " Node is inserted as child of the node with key wa_ITAB1-BUKRS.
      NODE-RELATKEY = LVL1. "wa_ITAB1-BUKRS..
      NODE-RELATSHIP = CL_GUI_SIMPLE_TREE=&amp;gt;RELAT_LAST_CHILD.

      NODE-HIDDEN = ' '.
      NODE-DISABLED = ' '.
      NODE-ISFOLDER = 'X'.
      CLEAR NODE-N_IMAGE.
      CLEAR NODE-EXP_IMAGE.
      NODE-EXPANDER = 'X'. " The node is marked with a '+', although
      " it has no children. When the user clicks on the
      " + to open the node, the event
      " expand_no_children is fired. The programmer can
      " add the children of the
      " node within the event handler of the
      " expand_no_children event
      " (see method handle_expand_no_children
      " of class lcl_application)

      NODE-TEXT = WA_ITAB1-WERKS.
      APPEND NODE TO NODE_TABLE.

      LOOP AT ITAB3 WHERE WERKS EQ WA_ITAB1-WERKS.
        LVL3 = SY-TABIX.
        CONDENSE LVL3.
        CONCATENATE 'LV3' LVL3 INTO LVL3.

        LD_NODE = SY-TABIX.
        IF ITAB3-MATNR NE ' '.
          CONCATENATE 'MAT' LD_NODE INTO LD_NODE.
          NODE-NODE_KEY = LVL3. "ld_node.  "'Child1'. #EC NOTEXT
*          CLEAR NODE.
*          NODE-NODE_KEY = itab3-matnr.                      "#EC NOTEXT
          NODE-RELATKEY = LVL2. "wa_itab1-werks.
          NODE-RELATSHIP = '6'. "CL_GUI_SIMPLE_TREE=&amp;gt;RELAT_LAST_CHILD.
          NODE-N_IMAGE = ' '.                               "@10@
          NODE-EXPANDER = SPACE.
          NODE-ISFOLDER = SPACE.
          NODE-TEXT = ITAB3-MATNR.
          APPEND NODE TO NODE_TABLE.
        ENDIF.
      ENDLOOP.
    ENDLOOP.
  ENDLOOP.

  DELETE NODE_TABLE WHERE NODE_KEY = '000000000000'.

  CALL METHOD G_TREE-&amp;gt;ADD_NODES
    EXPORTING
      TABLE_STRUCTURE_NAME           = 'MTREESNODE'
      NODE_TABLE                     = NODE_TABLE
    EXCEPTIONS
      FAILED                         = 1
      ERROR_IN_NODE_TABLE            = 2
      DP_ERROR                       = 3
      TABLE_STRUCTURE_NAME_NOT_FOUND = 4
      OTHERS                         = 5.
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE A000.
  ENDIF.
ENDFORM.                    " build_node_table

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 0100.

  SELECT T001K~BUKRS
         T001W~WERKS
         T001K~BWKEY
         INTO TABLE ITAB1
         FROM T001K INNER JOIN T001W ON T001K~BWKEY = T001W~WERKS
                                    AND T001K~BWKEY = T001W~BWKEY.

  SORT ITAB1 BY BUKRS .
  DELETE ADJACENT DUPLICATES FROM ITAB1.

  LOOP AT ITAB1 INTO WA_ITAB1.
    ITAB2-BUKRS = WA_ITAB1-BUKRS.
    APPEND ITAB2.
  ENDLOOP.

  SORT ITAB2 BY BUKRS.

  DELETE ADJACENT DUPLICATES FROM ITAB2.

  SELECT MATNR
         WERKS
         FROM MARC
         INTO TABLE ITAB3.
**       from marc inner join t001w on marc~werks = t001w~werks.
  LOOP AT ITAB1.
    WA_ITAB1-WERKS = ITAB3-WERKS.
    APPEND ITAB3.
  ENDLOOP.

  SORT ITAB3 BY WERKS.

  DELETE ADJACENT DUPLICATES FROM ITAB3.
*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Module  USER_COMMAND_0100  INPUT
*&amp;amp;---------------------------------------------------------------------*

&amp;lt;b&amp;gt;MODULE USER_COMMAND_0100 INPUT.
DATA : R_UCOMM LIKE SY-UCOMM,
       R_SELFIELD TYPE SLIS_SELFIELD.


  CASE : R_UCOMM.

    WHEN '&amp;amp;IC1'.

      READ TABLE ITAB3 INDEX R_SELFIELD-TABINDEX.
      CHECK SY-SUBRC EQ 0.
      SET PARAMETER ID 'MAT' FIELD ITAB3-MATNR.
      CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.

    WHEN OTHERS.
      LEAVE SCREEN.

  ENDCASE.
ENDMODULE.                 " USER_COMMAND_0100  INPUT&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am getting the problem as R_UCOMM is not assigned the value of &amp;amp;IC1. &lt;/P&gt;&lt;P&gt;when i change that value in the debugging mode it is coming properly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PLEASE HELP &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dinesh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 26 Jun 2007 10:03:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-report/m-p/2447466#M548282</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-26T10:03:32Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Tree Report</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-report/m-p/2447467#M548283</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;THANKS&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 05 Jul 2007 13:07:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-report/m-p/2447467#M548283</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-07-05T13:07:20Z</dc:date>
    </item>
  </channel>
</rss>

