<?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: checkboxes in tree in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/checkboxes-in-tree/m-p/1474438#M222593</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please refer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_bw33/helpdata/en/79/11269b0edf11d4b595006094192fe3/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_bw33/helpdata/en/79/11269b0edf11d4b595006094192fe3/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="61092"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if helpful&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 25 Aug 2006 10:43:42 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-08-25T10:43:42Z</dc:date>
    <item>
      <title>checkboxes in tree</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/checkboxes-in-tree/m-p/1474437#M222592</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 tree structure from an Itab using RS_TREE_CONSTRUCT and RS_TREE_LIST_DISPLAY. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now I want to create checkboxes for the leaves in the tree. I think the above function modules will not have the option. IF they have... please suggest me.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now, instead of FMs I used Iam planning to use class CL_GUI_ALV_TREE. But I dont know anything about a class and a method.&lt;/P&gt;&lt;P&gt;How to declare this class, and how to create my tree again and how to implement check boxes for the leaves in the tree...????&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Appreciate any kind of help with points.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Srinivas&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: srinivas janga&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Aug 2006 10:32:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/checkboxes-in-tree/m-p/1474437#M222592</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-25T10:32:56Z</dc:date>
    </item>
    <item>
      <title>Re: checkboxes in tree</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/checkboxes-in-tree/m-p/1474438#M222593</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please refer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_bw33/helpdata/en/79/11269b0edf11d4b595006094192fe3/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_bw33/helpdata/en/79/11269b0edf11d4b595006094192fe3/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="61092"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward if helpful&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Aug 2006 10:43:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/checkboxes-in-tree/m-p/1474438#M222593</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-25T10:43:42Z</dc:date>
    </item>
    <item>
      <title>Re: checkboxes in tree</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/checkboxes-in-tree/m-p/1474439#M222594</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Plz,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Explain me a small program to understand how to use a global class and its method in programs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Srinivas&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Aug 2006 11:58:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/checkboxes-in-tree/m-p/1474439#M222594</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-25T11:58:05Z</dc:date>
    </item>
    <item>
      <title>Re: checkboxes in tree</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/checkboxes-in-tree/m-p/1474440#M222595</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;Goto SAP MENU-&amp;gt; Environment-&amp;gt;Example_&amp;gt;Control Examples&lt;/P&gt;&lt;P&gt;The workbench demo gives a list of simple and easy to understand exmaple. Here we have tree control also.&lt;/P&gt;&lt;P&gt;Workbench Demo-&amp;gt;Controls-&amp;gt;Tree COntrols-&amp;gt;SAPColumn Tree&lt;/P&gt;&lt;P&gt;This example is a sap column tree example that has check box also. just check out the source code of this example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding how to use global class and its method.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;first you need to declare a object with ref to the global class like..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;data : G_object TYPE REF TO cl_gui_alv_grid.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then you need to create the class instance like...&lt;/P&gt;&lt;P&gt;press pattern(Cntol_ F6)&lt;/P&gt;&lt;P&gt;select abap object pattern radio button and enter.&lt;/P&gt;&lt;P&gt;select the create object radio button. Enter the name of the class and name of the instance and enter&lt;/P&gt;&lt;P&gt;You will get the create object statement with all the export paramters, exceptions ete.&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;  CREATE OBJECT G_GRID
    EXPORTING
*      I_SHELLSTYLE      = 0
*      I_LIFETIME        =
      I_PARENT          =
*      I_APPL_EVENTS     = space
*      I_PARENTDBG       =
*      I_APPLOGPARENT    =
*      I_GRAPHICSPARENT  =
*      I_NAME            =
*    EXCEPTIONS
*      ERROR_CNTL_CREATE = 1
*      ERROR_CNTL_INIT   = 2
*      ERROR_CNTL_LINK   = 3
*      ERROR_DP_CREATE   = 4
*      others            = 5
      .
  IF SY-SUBRC &amp;lt;&amp;gt; 0.
*   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For calling the method of global class.&lt;/P&gt;&lt;P&gt;press pattern(Cntol_ F6)&lt;/P&gt;&lt;P&gt;select abap object pattern radio button and enter.&lt;/P&gt;&lt;P&gt;select the call method radio button.&lt;/P&gt;&lt;P&gt;enter the instance name, global class name and method name. and press enter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt; CALL METHOD G_GRID-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY
*   EXPORTING
*     I_BUFFER_ACTIVE               =
*     I_BYPASSING_BUFFER            =
*     I_CONSISTENCY_CHECK           =
*     I_STRUCTURE_NAME              =
*     IS_VARIANT                    =
*     I_SAVE                        =
*     I_DEFAULT                     = 'X'
*     IS_LAYOUT                     =
*     IS_PRINT                      =
*     IT_SPECIAL_GROUPS             =
*     IT_TOOLBAR_EXCLUDING          =
*     IT_HYPERLINK                  =
*     IT_ALV_GRAPHICS               =
*     IT_EXCEPT_QINFO               =
   CHANGING
     IT_OUTTAB                     =
*     IT_FIELDCATALOG               =
*     IT_SORT                       =
*     IT_FILTER                     =
*   EXCEPTIONS
*     INVALID_PARAMETER_COMBINATION = 1
*     PROGRAM_ERROR                 = 2
*     TOO_MANY_LINES                = 3
*     others                        = 4&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;Richa.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Aug 2006 12:49:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/checkboxes-in-tree/m-p/1474440#M222595</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-25T12:49:21Z</dc:date>
    </item>
    <item>
      <title>Re: checkboxes in tree</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/checkboxes-in-tree/m-p/1474441#M222596</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;go thru the below simple program which gives you a basic idea on class concepts creating tree and handling events for nodes and items, sorry this does not have checkbox concept.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note:As you know this program uses standard class CL_GUI_LIST_TREE,see this class simultaneously for the events,parameters and methods used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  YLIST_TREE MESSAGE-ID ZER_INFO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS LCL_EVT_HDLR DEFINITION DEFERRED. " definition is given later&lt;/P&gt;&lt;P&gt;CLASS CL_GUI_CFW DEFINITION LOAD. " global class to be loaded&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:G_EVENT(50),    " to hold the event&lt;/P&gt;&lt;P&gt;     G_NODE_KEY TYPE TV_NODEKEY,  "holds the node key&lt;/P&gt;&lt;P&gt;     G_ITEM_NAME TYPE TV_ITMNAME,&lt;/P&gt;&lt;P&gt;     G_KEY TYPE TV_ITMNAME,&lt;/P&gt;&lt;P&gt;     G_CHECK TYPE AS4FLAG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:G_EVT_HDLR TYPE REF TO LCL_EVT_HDLR,  "reference variable to the&lt;/P&gt;&lt;P&gt;                                               "class implemented&lt;/P&gt;&lt;P&gt;     G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;P&gt;     G_TREE TYPE REF TO CL_GUI_LIST_TREE,&lt;/P&gt;&lt;P&gt;     G_OK_CODE TYPE SY-UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:ITEM_TABLE_TYPE LIKE STANDARD TABLE OF MTREEITM&lt;/P&gt;&lt;P&gt;      WITH DEFAULT KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CLASS lcl_evt_hdlr DEFINITION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS LCL_EVT_HDLR DEFINITION.&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    METHODS:&lt;/P&gt;&lt;P&gt;*---- methods for action handling for nodes&lt;/P&gt;&lt;P&gt;    NODE_DBL_CLK&lt;/P&gt;&lt;P&gt;     FOR EVENT NODE_DOUBLE_CLICK&lt;/P&gt;&lt;P&gt;     OF CL_GUI_LIST_TREE&lt;/P&gt;&lt;P&gt;     IMPORTING NODE_KEY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    HANDLE_NODE_KEY_PRESS&lt;/P&gt;&lt;P&gt;     FOR EVENT NODE_KEYPRESS&lt;/P&gt;&lt;P&gt;     OF CL_GUI_LIST_TREE&lt;/P&gt;&lt;P&gt;     IMPORTING NODE_KEY KEY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---- methods for action handling for Items&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ITEM_DBL_CLK&lt;/P&gt;&lt;P&gt;     FOR EVENT ITEM_DOUBLE_CLICK&lt;/P&gt;&lt;P&gt;     OF CL_GUI_LIST_TREE&lt;/P&gt;&lt;P&gt;     IMPORTING NODE_KEY ITEM_NAME,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    HANDLE_ITEM_KEY_PRESS&lt;/P&gt;&lt;P&gt;     FOR EVENT ITEM_KEYPRESS&lt;/P&gt;&lt;P&gt;     OF CL_GUI_LIST_TREE&lt;/P&gt;&lt;P&gt;     IMPORTING NODE_KEY ITEM_NAME KEY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*---- other methods for action handling&lt;/P&gt;&lt;P&gt;    HANDLE_EXPAND_NO_CHILDREN&lt;/P&gt;&lt;P&gt;     FOR EVENT EXPAND_NO_CHILDREN&lt;/P&gt;&lt;P&gt;     OF CL_GUI_LIST_TREE&lt;/P&gt;&lt;P&gt;     IMPORTING NODE_KEY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   HANDLE_CHECKBOX&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   FOR EVENT CHECKBOX_CHANGE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OF CL_GUI_LIST_TREE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IMPORTING NODE_KEY ITEM_NAME CHECKED.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_evt_hdlr DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      CLASS lcl_evt_hdlr IMPLEMENTATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS LCL_EVT_HDLR IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD NODE_DBL_CLK.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  this method handles the node double click event of the tree control&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  and shows the key of the double clicked node in a dynpro field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    G_EVENT = 'NODE_DOUBLE_CLICK'.&lt;/P&gt;&lt;P&gt;    G_NODE_KEY = NODE_KEY.&lt;/P&gt;&lt;P&gt;    G_ITEM_NAME = ' '.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "node_dbl_clk&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD ITEM_DBL_CLK.&lt;/P&gt;&lt;P&gt;    G_EVENT = 'ITEM_DOUBLE_CLICK'.&lt;/P&gt;&lt;P&gt;    G_NODE_KEY = NODE_KEY.&lt;/P&gt;&lt;P&gt;    G_ITEM_NAME = ITEM_NAME.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "ITEM_DBL_CLK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD HANDLE_NODE_KEY_PRESS.&lt;/P&gt;&lt;P&gt;    G_EVENT = 'NODE_KEYPRESS'.&lt;/P&gt;&lt;P&gt;    G_NODE_KEY = NODE_KEY.&lt;/P&gt;&lt;P&gt;    G_ITEM_NAME = ' '.&lt;/P&gt;&lt;P&gt;    G_KEY = KEY.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "HANDLE_NODE_KEY_PRESS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD HANDLE_ITEM_KEY_PRESS.&lt;/P&gt;&lt;P&gt;    G_EVENT = 'ITEM_KEYPRESS'.&lt;/P&gt;&lt;P&gt;    G_NODE_KEY = NODE_KEY.&lt;/P&gt;&lt;P&gt;    G_ITEM_NAME = ITEM_NAME.&lt;/P&gt;&lt;P&gt;    G_KEY = KEY.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "HANDLE_ITEM_KEY_PRESS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD HANDLE_EXPAND_NO_CHILDREN.&lt;/P&gt;&lt;P&gt;    G_EVENT = 'EXPAND_NO_CHILDREN'.&lt;/P&gt;&lt;P&gt;    G_NODE_KEY = NODE_KEY.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "handle_EXPAND_NO_CHILDREN&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; METHOD HANDLE_CHECKBOX.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_EVENT = 'CHECKBOX_HANDLING'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_NODE_KEY = NODE_KEY.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_ITEM_NAME = ITEM_NAME.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   G_CHECK = CHECKED.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDMETHOD.                    "HANDLE_CHECKBOX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDCLASS.                    "lcl_evt_hdlr IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*------   start-of-selection.&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  CREATE OBJECT G_EVT_HDLR. "create an object for the class lcl_evt_hdlr&lt;/P&gt;&lt;P&gt;  SET SCREEN 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MODULE pbo_100 OUTPUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE PBO_100 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'BUT'.&lt;/P&gt;&lt;P&gt;  IF G_TREE IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  the tree control has not yet been created&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; create a tree control and insert nodes into it.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM CREATE_AND_INIT_TREE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE.                    "pbo_100 OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; MODULE pai_100 INPUT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;MODULE PAI_100 INPUT.&lt;/P&gt;&lt;P&gt;  DATA:RETURN_CODE TYPE I.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CL_GUI_CFW=&amp;gt;DISPATCH must be called if events are registered&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;that trigger PAI&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;this method calls the event handler method of an event&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD CL_GUI_CFW=&amp;gt;DISPATCH&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      RETURN_CODE = RETURN_CODE.&lt;/P&gt;&lt;P&gt;  IF RETURN_CODE &amp;lt;&amp;gt; CL_GUI_CFW=&amp;gt;RC_NOEVENT.&lt;/P&gt;&lt;P&gt;    " a control event occured =&amp;gt; exit PAI&lt;/P&gt;&lt;P&gt;    CLEAR G_OK_CODE.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*at user-command.&lt;/P&gt;&lt;P&gt;  G_OK_CODE = SY-UCOMM.&lt;/P&gt;&lt;P&gt;  CASE G_OK_CODE.&lt;/P&gt;&lt;P&gt;    WHEN 'BACK'. " Finish program&lt;/P&gt;&lt;P&gt;      IF NOT G_CUSTOM_CONTAINER IS INITIAL.&lt;/P&gt;&lt;P&gt;        " destroy tree container (detroys contained tree control, too)&lt;/P&gt;&lt;P&gt;        CALL METHOD G_CUSTOM_CONTAINER-&amp;gt;FREE&lt;/P&gt;&lt;P&gt;          EXCEPTIONS&lt;/P&gt;&lt;P&gt;            CNTL_SYSTEM_ERROR = 1&lt;/P&gt;&lt;P&gt;            CNTL_ERROR        = 2.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;          MESSAGE A000.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        CLEAR G_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;        CLEAR G_TREE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CAUTION: clear ok code!&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR G_OK_CODE.&lt;/P&gt;&lt;P&gt;ENDMODULE.                    "pai_100 INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  create_and_init_tree&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM CREATE_AND_INIT_TREE .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:NODE_TABLE TYPE TREEV_NTAB,&lt;/P&gt;&lt;P&gt;       ITEM_TABLE TYPE ITEM_TABLE_TYPE,&lt;/P&gt;&lt;P&gt;       EVENTS TYPE CNTL_SIMPLE_EVENTS,&lt;/P&gt;&lt;P&gt;       EVENT TYPE CNTL_SIMPLE_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  create a container for the tree control.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    the container is linked to the custom control with the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    name 'TREE_CONTAINER' on the dynpro&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     CONTAINER_NAME = 'TREE_CONTAINER'&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;      CNTL_ERROR = 1&lt;/P&gt;&lt;P&gt;      CNTL_SYSTEM_ERROR = 2&lt;/P&gt;&lt;P&gt;      CREATE_ERROR = 3&lt;/P&gt;&lt;P&gt;      LIFETIME_ERROR = 4&lt;/P&gt;&lt;P&gt;      LIFETIME_DYNPRO_DYNPRO_LINK = 5.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE A000.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  create a list tree control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT G_TREE&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;    PARENT = G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;    NODE_SELECTION_MODE = CL_GUI_LIST_TREE=&amp;gt;NODE_SEL_MODE_SINGLE&lt;/P&gt;&lt;P&gt;    ITEM_SELECTION = 'X'&lt;/P&gt;&lt;P&gt;    WITH_HEADERS = ' '&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;    CNTL_SYSTEM_ERROR           = 1&lt;/P&gt;&lt;P&gt;     CREATE_ERROR                = 2&lt;/P&gt;&lt;P&gt;     FAILED                      = 3&lt;/P&gt;&lt;P&gt;     ILLEGAL_NODE_SELECTION_MODE = 4&lt;/P&gt;&lt;P&gt;     LIFETIME_ERROR              = 5.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE A000.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*------- KEY = enter&lt;/P&gt;&lt;P&gt;  CALL METHOD G_TREE-&amp;gt;ADD_KEY_STROKE&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      KEY               = CL_TREE_CONTROL_BASE=&amp;gt;KEY_ENTER&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      FAILED            = 1&lt;/P&gt;&lt;P&gt;      ILLEGAL_KEY       = 2&lt;/P&gt;&lt;P&gt;      CNTL_SYSTEM_ERROR = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE W006 WITH 'ADD_KEY_STROKE'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   define the events which will be passed to the backend&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;node double click&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  EVENT-EVENTID = CL_GUI_LIST_TREE=&amp;gt;EVENTID_NODE_DOUBLE_CLICK.&lt;/P&gt;&lt;P&gt;  EVENT-APPL_EVENT = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND EVENT TO EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  EVENT-EVENTID = CL_GUI_LIST_TREE=&amp;gt;EVENTID_ITEM_DOUBLE_CLICK.&lt;/P&gt;&lt;P&gt;  EVENT-APPL_EVENT = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND EVENT TO EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  EVENT-EVENTID = CL_GUI_LIST_TREE=&amp;gt;EVENTID_NODE_KEYPRESS.&lt;/P&gt;&lt;P&gt;  EVENT-APPL_EVENT = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND EVENT TO EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  EVENT-EVENTID = CL_GUI_LIST_TREE=&amp;gt;EVENTID_ITEM_KEYPRESS.&lt;/P&gt;&lt;P&gt;  EVENT-APPL_EVENT = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND EVENT TO EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  EVENT-EVENTID = CL_GUI_LIST_TREE=&amp;gt;EVENTID_EXPAND_NO_CHILDREN.&lt;/P&gt;&lt;P&gt;  EVENT-APPL_EVENT = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND EVENT TO EVENTS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EVENT-EVENTID = CL_GUI_LIST_TREE=&amp;gt;EVENTID_CHECKBOX_CHANGE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EVENT-APPL_EVENT = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; APPEND EVENT TO EVENTS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*------ register the events&lt;/P&gt;&lt;P&gt;  CALL METHOD G_TREE-&amp;gt;SET_REGISTERED_EVENTS&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      EVENTS                    = EVENTS&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      CNTL_ERROR                = 1&lt;/P&gt;&lt;P&gt;      CNTL_SYSTEM_ERROR         = 2&lt;/P&gt;&lt;P&gt;      ILLEGAL_EVENT_COMBINATION = 3.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE A000.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;assign event handlers in the application class to each desired events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SET HANDLER G_EVT_HDLR-&amp;gt;NODE_DBL_CLK FOR G_TREE.&lt;/P&gt;&lt;P&gt;  SET HANDLER G_EVT_HDLR-&amp;gt;ITEM_DBL_CLK FOR G_TREE.&lt;/P&gt;&lt;P&gt;  SET HANDLER G_EVT_HDLR-&amp;gt;HANDLE_NODE_KEY_PRESS FOR G_TREE.&lt;/P&gt;&lt;P&gt;  SET HANDLER G_EVT_HDLR-&amp;gt;HANDLE_ITEM_KEY_PRESS FOR G_TREE.&lt;/P&gt;&lt;P&gt;  SET HANDLER G_EVT_HDLR-&amp;gt;HANDLE_EXPAND_NO_CHILDREN FOR G_TREE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SET HANDLER G_EVT_HDLR-&amp;gt;HANDLE_CHECKBOX FOR G_TREE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;add some nodes to the tree control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_NODE_AND_ITEM_TABLE USING NODE_TABLE ITEM_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD G_TREE-&amp;gt;ADD_NODES_AND_ITEMS&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      NODE_TABLE                     = NODE_TABLE&lt;/P&gt;&lt;P&gt;      ITEM_TABLE                     = ITEM_TABLE&lt;/P&gt;&lt;P&gt;      ITEM_TABLE_STRUCTURE_NAME      = 'mtreeitm'&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      FAILED                         = 1&lt;/P&gt;&lt;P&gt;      CNTL_SYSTEM_ERROR              = 3&lt;/P&gt;&lt;P&gt;      ERROR_IN_TABLES                = 4&lt;/P&gt;&lt;P&gt;      DP_ERROR                       = 5&lt;/P&gt;&lt;P&gt;      TABLE_STRUCTURE_NAME_NOT_FOUND = 6.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE A000.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " create_and_init_tree&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  build_node_and_item_table&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_NODE_TABLE  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_ITEM_TABLE  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM BUILD_NODE_AND_ITEM_TABLE  USING&lt;/P&gt;&lt;P&gt;          NODE_TABLE TYPE TREEV_NTAB&lt;/P&gt;&lt;P&gt;          ITEM_TABLE TYPE ITEM_TABLE_TYPE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA:NODE TYPE TREEV_NODE,&lt;/P&gt;&lt;P&gt;       ITEM TYPE MTREEITM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;build the node table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;node with key 'root'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR NODE.&lt;/P&gt;&lt;P&gt;  NODE-NODE_KEY = 'Root'.  " key of the node&lt;/P&gt;&lt;P&gt;  CLEAR NODE-RELATKEY.    " root node has no parent node&lt;/P&gt;&lt;P&gt;  CLEAR NODE-RELATSHIP.&lt;/P&gt;&lt;P&gt;  NODE-HIDDEN = ' '.      " the node is visible&lt;/P&gt;&lt;P&gt;  NODE-DISABLED = ' '.     " selectable&lt;/P&gt;&lt;P&gt;  NODE-ISFOLDER = 'X'.    " a folder&lt;/P&gt;&lt;P&gt;  CLEAR NODE-N_IMAGE.     " folder-/ leaf symbol in state "closed"&lt;/P&gt;&lt;P&gt;  "use default.&lt;/P&gt;&lt;P&gt;  CLEAR NODE-EXP_IMAGE.   " folder-/ leaf symbol in state "open"&lt;/P&gt;&lt;P&gt;  "use default.&lt;/P&gt;&lt;P&gt;  CLEAR NODE-EXPANDER.    " the width of the item is adjusted to its "&lt;/P&gt;&lt;P&gt;  " content (text)&lt;/P&gt;&lt;P&gt;  APPEND NODE TO NODE_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;node with key 'child1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR NODE.&lt;/P&gt;&lt;P&gt;  NODE-NODE_KEY = 'Child1'. "key of the node&lt;/P&gt;&lt;P&gt;  NODE-RELATKEY = 'Root'.&lt;/P&gt;&lt;P&gt;  NODE-RELATSHIP = CL_GUI_LIST_TREE=&amp;gt;RELAT_LAST_CHILD.&lt;/P&gt;&lt;P&gt;  NODE-ISFOLDER = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND NODE TO NODE_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;node with key 'Subchild1' for child1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR NODE.&lt;/P&gt;&lt;P&gt;  NODE-NODE_KEY = 'SubChild1'.&lt;/P&gt;&lt;P&gt;  NODE-RELATKEY = 'Child1'.&lt;/P&gt;&lt;P&gt;  NODE-RELATSHIP = CL_GUI_LIST_TREE=&amp;gt;RELAT_LAST_CHILD.&lt;/P&gt;&lt;P&gt;  NODE-ISFOLDER = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND NODE TO NODE_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;node with key 'subchild2' for child1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR NODE.&lt;/P&gt;&lt;P&gt;  NODE-NODE_KEY = 'SubChild2'.&lt;/P&gt;&lt;P&gt;  NODE-RELATKEY = 'Child1'.&lt;/P&gt;&lt;P&gt;  NODE-RELATSHIP = CL_GUI_LIST_TREE=&amp;gt;RELAT_LAST_CHILD.&lt;/P&gt;&lt;P&gt;  APPEND NODE TO NODE_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;node with key 'subchild3' for child1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR NODE.&lt;/P&gt;&lt;P&gt;  NODE-NODE_KEY = 'SubChild3'.&lt;/P&gt;&lt;P&gt;  NODE-RELATKEY = 'Child1'.&lt;/P&gt;&lt;P&gt;  NODE-RELATSHIP = CL_GUI_LIST_TREE=&amp;gt;RELAT_LAST_CHILD.&lt;/P&gt;&lt;P&gt;  APPEND NODE TO NODE_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;node with key 'subchild4' for child1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR NODE.&lt;/P&gt;&lt;P&gt;  NODE-NODE_KEY = 'SubChild4'.&lt;/P&gt;&lt;P&gt;  NODE-RELATKEY = 'Child1'.&lt;/P&gt;&lt;P&gt;  NODE-DISABLED = ' '.&lt;/P&gt;&lt;P&gt;  NODE-RELATSHIP = CL_GUI_LIST_TREE=&amp;gt;RELAT_LAST_CHILD.&lt;/P&gt;&lt;P&gt;  APPEND NODE TO NODE_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;node with key 'child2'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR NODE.&lt;/P&gt;&lt;P&gt;  NODE-NODE_KEY = 'Child2'. "key of the node&lt;/P&gt;&lt;P&gt;  NODE-RELATKEY = 'Root'.&lt;/P&gt;&lt;P&gt;  NODE-RELATSHIP = CL_GUI_LIST_TREE=&amp;gt;RELAT_LAST_CHILD.&lt;/P&gt;&lt;P&gt;  NODE-ISFOLDER = 'X'.&lt;/P&gt;&lt;P&gt;  NODE-EXPANDER = 'X'.    " The node is marked with a '+', although&lt;/P&gt;&lt;P&gt;  " it has no children. When the user clicks on the&lt;/P&gt;&lt;P&gt;  " + to open the node, the event expand_nc is&lt;/P&gt;&lt;P&gt;  " fired. The programmerr can&lt;/P&gt;&lt;P&gt;  " add the children of the&lt;/P&gt;&lt;P&gt;  " node within the event handler of the expand_nc&lt;/P&gt;&lt;P&gt;  " event  (see callback handle_expand_nc).&lt;/P&gt;&lt;P&gt;  APPEND NODE TO NODE_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;items of the nodes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;item with key 'root'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ITEM.&lt;/P&gt;&lt;P&gt;  ITEM-NODE_KEY = 'Root'.&lt;/P&gt;&lt;P&gt;  ITEM-ITEM_NAME = '1'.&lt;/P&gt;&lt;P&gt;  ITEM-CLASS = CL_GUI_LIST_TREE=&amp;gt;ITEM_CLASS_TEXT. " text item&lt;/P&gt;&lt;P&gt;  ITEM-ALIGNMENT = CL_GUI_LIST_TREE=&amp;gt;ALIGN_AUTO. "the width of the item&lt;/P&gt;&lt;P&gt;  "is adjusted to its content&lt;/P&gt;&lt;P&gt;  ITEM-FONT = CL_GUI_LIST_TREE=&amp;gt;ITEM_FONT_PROP. "use proportional font&lt;/P&gt;&lt;P&gt;  " for the item&lt;/P&gt;&lt;P&gt;  ITEM-TEXT = 'object'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND ITEM TO ITEM_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;item with key 'child1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ITEM.&lt;/P&gt;&lt;P&gt;  ITEM-NODE_KEY = 'Child1'.&lt;/P&gt;&lt;P&gt;  ITEM-ITEM_NAME = '11'.&lt;/P&gt;&lt;P&gt;  ITEM-CLASS = CL_GUI_LIST_TREE=&amp;gt;ITEM_CLASS_TEXT.&lt;/P&gt;&lt;P&gt;  ITEM-ALIGNMENT = CL_GUI_LIST_TREE=&amp;gt;ALIGN_AUTO.&lt;/P&gt;&lt;P&gt;  ITEM-FONT = CL_GUI_LIST_TREE=&amp;gt;ITEM_FONT_PROP.&lt;/P&gt;&lt;P&gt;  ITEM-TEXT = 'dynpros'.&lt;/P&gt;&lt;P&gt;  APPEND ITEM TO ITEM_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;item with key 'child2'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ITEM.&lt;/P&gt;&lt;P&gt;  ITEM-NODE_KEY = 'Child2'.&lt;/P&gt;&lt;P&gt;  ITEM-ITEM_NAME = '12'.&lt;/P&gt;&lt;P&gt;  ITEM-CLASS = CL_GUI_LIST_TREE=&amp;gt;ITEM_CLASS_TEXT.&lt;/P&gt;&lt;P&gt;  ITEM-ALIGNMENT = CL_GUI_LIST_TREE=&amp;gt;ALIGN_AUTO.&lt;/P&gt;&lt;P&gt;  ITEM-FONT = CL_GUI_LIST_TREE=&amp;gt;ITEM_FONT_PROP.&lt;/P&gt;&lt;P&gt;  ITEM-TEXT = 'programme'.&lt;/P&gt;&lt;P&gt;  APPEND ITEM TO ITEM_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;items of node  with key 'Subchild1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ITEM.&lt;/P&gt;&lt;P&gt;  ITEM-NODE_KEY = 'SubChild1'.&lt;/P&gt;&lt;P&gt;  ITEM-ITEM_NAME = '111'.&lt;/P&gt;&lt;P&gt;  ITEM-CLASS = CL_GUI_LIST_TREE=&amp;gt;ITEM_CLASS_TEXT.&lt;/P&gt;&lt;P&gt;  ITEM-LENGTH = 11.&lt;/P&gt;&lt;P&gt;  ITEM-TEXT = 'include'.&lt;/P&gt;&lt;P&gt;  APPEND ITEM TO ITEM_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;items of node with key 'SubChild2'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ITEM.&lt;/P&gt;&lt;P&gt;  ITEM-NODE_KEY = 'SubChild2'.&lt;/P&gt;&lt;P&gt;  ITEM-ITEM_NAME = '112'.&lt;/P&gt;&lt;P&gt;  ITEM-CLASS = CL_GUI_LIST_TREE=&amp;gt;ITEM_CLASS_TEXT.&lt;/P&gt;&lt;P&gt;  ITEM-LENGTH = 4.  " the width of the item is 4 chars&lt;/P&gt;&lt;P&gt;  ITEM-IGNOREIMAG = 'X'.  " see documentation of structure treev_item&lt;/P&gt;&lt;P&gt;  ITEM-USEBGCOLOR = 'X'.&lt;/P&gt;&lt;P&gt;  ITEM-T_IMAGE = '@01@'.&lt;/P&gt;&lt;P&gt;  APPEND ITEM TO ITEM_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ITEM.&lt;/P&gt;&lt;P&gt;  ITEM-NODE_KEY = 'SubChild2'.&lt;/P&gt;&lt;P&gt;  ITEM-ITEM_NAME = '113'.&lt;/P&gt;&lt;P&gt;  ITEM-CLASS = CL_GUI_LIST_TREE=&amp;gt;ITEM_CLASS_TEXT.&lt;/P&gt;&lt;P&gt;  ITEM-LENGTH = 4.  " the width of the item is 4 chars&lt;/P&gt;&lt;P&gt;  ITEM-USEBGCOLOR = 'X'.&lt;/P&gt;&lt;P&gt;  ITEM-TEXT = '0100'.&lt;/P&gt;&lt;P&gt;  APPEND ITEM TO ITEM_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ITEM.&lt;/P&gt;&lt;P&gt;  ITEM-NODE_KEY = 'SubChild2'.&lt;/P&gt;&lt;P&gt;  ITEM-ITEM_NAME = '114'.&lt;/P&gt;&lt;P&gt;  ITEM-CLASS = CL_GUI_LIST_TREE=&amp;gt;ITEM_CLASS_TEXT.&lt;/P&gt;&lt;P&gt;  ITEM-LENGTH = 11.&lt;/P&gt;&lt;P&gt;  ITEM-USEBGCOLOR = 'X'.&lt;/P&gt;&lt;P&gt;  ITEM-TEXT = ' mueller'.&lt;/P&gt;&lt;P&gt;  APPEND ITEM TO ITEM_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ITEM.&lt;/P&gt;&lt;P&gt;  ITEM-NODE_KEY = 'SubChild2'.&lt;/P&gt;&lt;P&gt;  ITEM-ITEM_NAME = '115'.&lt;/P&gt;&lt;P&gt;  ITEM-CLASS = CL_GUI_LIST_TREE=&amp;gt;ITEM_CLASS_TEXT.&lt;/P&gt;&lt;P&gt;  ITEM-ALIGNMENT = CL_GUI_LIST_TREE=&amp;gt;ALIGN_AUTO.&lt;/P&gt;&lt;P&gt;  ITEM-FONT = CL_GUI_LIST_TREE=&amp;gt;ITEM_FONT_PROP.&lt;/P&gt;&lt;P&gt;  ITEM-TEXT = ' comment to dynpro 100'.&lt;/P&gt;&lt;P&gt;  APPEND ITEM TO ITEM_TABLE.&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;items of node with key 'SubChild3'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ITEM.&lt;/P&gt;&lt;P&gt;  ITEM-NODE_KEY = 'SubChild3'.&lt;/P&gt;&lt;P&gt;  ITEM-ITEM_NAME = '121'.&lt;/P&gt;&lt;P&gt;  ITEM-CLASS = CL_GUI_LIST_TREE=&amp;gt;ITEM_CLASS_TEXT.&lt;/P&gt;&lt;P&gt;  ITEM-LENGTH = 20.&lt;/P&gt;&lt;P&gt;  ITEM-IGNOREIMAG = 'X'.&lt;/P&gt;&lt;P&gt;  ITEM-USEBGCOLOR = 'X'.&lt;/P&gt;&lt;P&gt;  ITEM-T_IMAGE = '@02@'.&lt;/P&gt;&lt;P&gt;  ITEM-TEXT = '  0200 harryhirsch'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ITEM-CHOSEN = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  APPEND ITEM TO ITEM_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ITEM.&lt;/P&gt;&lt;P&gt;  ITEM-NODE_KEY = 'SubChild3'.&lt;/P&gt;&lt;P&gt;  ITEM-ITEM_NAME = '122'.&lt;/P&gt;&lt;P&gt;  ITEM-CLASS = CL_GUI_LIST_TREE=&amp;gt;ITEM_CLASS_TEXT.&lt;/P&gt;&lt;P&gt;  ITEM-ALIGNMENT = CL_GUI_LIST_TREE=&amp;gt;ALIGN_AUTO.&lt;/P&gt;&lt;P&gt;  ITEM-FONT = CL_GUI_LIST_TREE=&amp;gt;ITEM_FONT_PROP.&lt;/P&gt;&lt;P&gt;  ITEM-TEXT = ' comment to dynpro 200'.&lt;/P&gt;&lt;P&gt;  APPEND ITEM TO ITEM_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ITEM.&lt;/P&gt;&lt;P&gt;  ITEM-NODE_KEY = 'SubChild4'.&lt;/P&gt;&lt;P&gt;  ITEM-ITEM_NAME = '144'.&lt;/P&gt;&lt;P&gt;  ITEM-CLASS = CL_GUI_LIST_TREE=&amp;gt;ITEM_CLASS_TEXT.&lt;/P&gt;&lt;P&gt;  ITEM-LENGTH = 20.&lt;/P&gt;&lt;P&gt;  ITEM-IGNOREIMAG = 'X'.&lt;/P&gt;&lt;P&gt;  ITEM-USEBGCOLOR = 'X'.&lt;/P&gt;&lt;P&gt;  ITEM-TEXT = '  select'.&lt;/P&gt;&lt;P&gt;  ITEM-CHOSEN = 'X'.&lt;/P&gt;&lt;P&gt;  ITEM-DISABLED = ' '.&lt;/P&gt;&lt;P&gt;  APPEND ITEM TO ITEM_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_node_and_item_table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sowjanya.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: sowjanya suggula&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Aug 2006 12:54:38 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/checkboxes-in-tree/m-p/1474441#M222596</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-08-25T12:54:38Z</dc:date>
    </item>
  </channel>
</rss>

