<?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: SUBMIT inside a method &amp; the automation queue in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259009#M489531</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Perhaps, new session help: create your own transaction which was called report and change your method on CALL TRANSACTION.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 25 May 2007 20:06:37 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-05-25T20:06:37Z</dc:date>
    <item>
      <title>SUBMIT inside a method &amp; the automation queue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259008#M489530</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 call a method via a tree toolbar button in that calls a standard SAP report using the SUBMIT AND RETURN command. This is done within a screen with several docking containers and split screens attached.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The problem is that when I press the toolbar button, the report (which also has docking container) is presented partially inside my screen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When I put a BREAK-POINT on the SUBMIT statement it is good and I can see SAP's report with no issues and I do not see my screen. When I take the break point off it is back to the original problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This leaves me to think that it is an automation queue problem or something like that.&lt;/P&gt;&lt;P&gt;How can I get over this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Itay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 May 2007 13:13:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259008#M489530</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-25T13:13:24Z</dc:date>
    </item>
    <item>
      <title>Re: SUBMIT inside a method &amp; the automation queue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259009#M489531</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Perhaps, new session help: create your own transaction which was called report and change your method on CALL TRANSACTION.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 May 2007 20:06:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259009#M489531</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-25T20:06:37Z</dc:date>
    </item>
    <item>
      <title>Re: SUBMIT inside a method &amp; the automation queue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259010#M489532</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Itay&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I assume that call the SAP report within the event handler method dealing with the toolbar events.&lt;/P&gt;&lt;P&gt;You could try to "shift" the timepoint where the SUBMIT is executed from the event handler method (note: toolbar events do NOT trigger PAI of the displaying dynpro) to the &amp;lt;b&amp;gt;PAI &amp;lt;/b&amp;gt;of your dynpro. &lt;/P&gt;&lt;P&gt;Use the following method call within your event handler method:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;  CALL METHOD cl_gui_cfw=&amp;gt;set_new_ok_code( 'SUBMIT' ).&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At the end of the event handler method this will trigger PAI where you can submit the report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;MODULE user_command_0100 PAI.

  CASE gd_okcode.
    WHEN 'BACK'  or
               'EXIT'    or
               'CANC'.
      set screen 0. leave screen

    WHEN 'SUBMIT'.
      SUBMIT &amp;lt;SAP standard report&amp;gt;
        AND RETURN.


    WHEN others.
    ENDCASE.
ENDMODULE.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 May 2007 21:06:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259010#M489532</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2007-05-25T21:06:26Z</dc:date>
    </item>
    <item>
      <title>Re: SUBMIT inside a method &amp; the automation queue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259011#M489533</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Uwe,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It sounds like the correct answer.&lt;/P&gt;&lt;P&gt;I put the code in place but it doesn't seem to call the PAI again.&lt;/P&gt;&lt;P&gt;Am I missing something?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Itay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 May 2007 14:56:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259011#M489533</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-28T14:56:28Z</dc:date>
    </item>
    <item>
      <title>Re: SUBMIT inside a method &amp; the automation queue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259012#M489534</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I read the RC for the event and I got        102- and not 0.&lt;/P&gt;&lt;P&gt;why is that?&lt;/P&gt;&lt;P&gt;how can I check that?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 28 May 2007 14:59:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259012#M489534</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-28T14:59:27Z</dc:date>
    </item>
    <item>
      <title>Re: SUBMIT inside a method &amp; the automation queue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259013#M489535</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I tried to do the call function ans I got exactly as if I use the set_new_ok_code:&lt;/P&gt;&lt;P&gt;return code =  cl_gui_cfw=&amp;gt;rc_wrong_state &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I use CALL METHOD cl_gui_cfw=&amp;gt;set_new_ok_code inside the toolbar event receiver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;from the help on this method:&lt;/P&gt;&lt;P&gt;"You may only use this method in the handler method of a system event. It sets an OK_CODE  that triggers PAI processing. This means that data is transferred from the screen to the program, and you can take control of the program in your PAI modules.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;what is that "system event"?&lt;/P&gt;&lt;P&gt;any ideas?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jun 2007 18:15:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259013#M489535</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-01T18:15:40Z</dc:date>
    </item>
    <item>
      <title>Re: SUBMIT inside a method &amp; the automation queue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259014#M489536</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Itay&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried to simulate your situation. Perhaps you get from this sample report (which was copied from BCALV_TREE_DEMO and the adjusted) some ideas how to solve your problem. In my report all controls are displayed properly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[code]&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; Report  ZUS_SDN_BCALV_TREE_DEMO_8                                   *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&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; Based on: BCALV_TREE_DEMO                                           *&lt;/P&gt;&lt;P&gt;*&amp;amp;                                                                     *&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;&lt;/P&gt;&lt;P&gt;REPORT  zus_sdn_bcalv_tree_demo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  gd_okcode        TYPE ui_func,&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  go_docking       TYPE REF TO cl_gui_docking_container,&lt;/P&gt;&lt;P&gt;  go_splitter      TYPE REF TO cl_gui_splitter_container,&lt;/P&gt;&lt;P&gt;  go_cell_left     TYPE REF TO cl_gui_container,&lt;/P&gt;&lt;P&gt;  go_cell_right    TYPE REF TO cl_gui_container,&lt;/P&gt;&lt;P&gt;  go_grid          TYPE REF TO cl_gui_alv_grid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:&lt;/P&gt;&lt;P&gt;  gt_knb1          type standard table of knb1.  " dummy&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*$Comment: begin&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;  gd_delete_nkey    TYPE lvc_nkey.&lt;/P&gt;&lt;P&gt;*$Comment: end&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS cl_gui_column_tree DEFINITION LOAD.&lt;/P&gt;&lt;P&gt;CLASS cl_gui_cfw DEFINITION LOAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA tree1  TYPE REF TO cl_gui_alv_tree.&lt;/P&gt;&lt;P&gt;DATA mr_toolbar TYPE REF TO cl_gui_toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INCLUDE &amp;lt;icon&amp;gt;.&lt;/P&gt;&lt;P&gt;INCLUDE ZUS_SDN_BCALV_TB_EVENT_RCVR8.&lt;/P&gt;&lt;P&gt;*INCLUDE zus_sdn_bcalv_tb_event_rcvr.&lt;/P&gt;&lt;P&gt;*include bcalv_toolbar_event_receiver.&lt;/P&gt;&lt;P&gt;INCLUDE ZUS_SDN_BCALV_TREE_EVENT_RCVR8.&lt;/P&gt;&lt;P&gt;*INCLUDE zus_sdn_bcalv_tree_event_rcvr.&lt;/P&gt;&lt;P&gt;*include bcalv_tree_event_receiver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: toolbar_event_receiver TYPE REF TO lcl_toolbar_event_receiver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: gt_sflight      TYPE sflight OCCURS 0,      "Output-Table&lt;/P&gt;&lt;P&gt;      gt_fieldcatalog TYPE lvc_t_fcat, "Fieldcatalog&lt;/P&gt;&lt;P&gt;      ok_code LIKE sy-ucomm.           "OK-Code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&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;Create docking container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT go_docking&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      parent                      = cl_gui_container=&amp;gt;screen0&lt;/P&gt;&lt;P&gt;      ratio                       = 90&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS                      = 6.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&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;Create splitter container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT go_splitter&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      parent            = go_docking&lt;/P&gt;&lt;P&gt;      rows              = 1&lt;/P&gt;&lt;P&gt;      columns           = 2&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     NO_AUTODEF_PROGID_DYNNR =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     NAME              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;      OTHERS            = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&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;Get cell container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD go_splitter-&amp;gt;get_container&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      row       = 1&lt;/P&gt;&lt;P&gt;      column    = 1&lt;/P&gt;&lt;P&gt;    RECEIVING&lt;/P&gt;&lt;P&gt;      container = go_cell_left.&lt;/P&gt;&lt;P&gt;  CALL METHOD go_splitter-&amp;gt;get_container&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      row       = 1&lt;/P&gt;&lt;P&gt;      column    = 2&lt;/P&gt;&lt;P&gt;    RECEIVING&lt;/P&gt;&lt;P&gt;      container = go_cell_right.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create ALV grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT go_grid&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_parent          = go_cell_right&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS            = 5.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD go_grid-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_structure_name = 'KNB1'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      it_outtab        = gt_knb1&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS           = 4.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;Link the docking container to the target dynpro&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD go_docking-&amp;gt;link&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      repid                       = syst-repid&lt;/P&gt;&lt;P&gt;      dynnr                       = '0100'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CONTAINER                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS                      = 4.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL SCREEN 100.&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&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;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;      Module  PBO  OUTPUT&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;      process before 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;MODULE pbo OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'MAIN100'.&lt;/P&gt;&lt;P&gt;  IF tree1 IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM init_tree.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;ENDMODULE.                             " PBO  OUTPUT&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;      Module  PAI  INPUT&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;      process after 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;MODULE pai INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  translate ok_code to upper case.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE ok_code.&lt;/P&gt;&lt;P&gt;    WHEN 'EXIT' OR 'BACK' OR 'CANC'.&lt;/P&gt;&lt;P&gt;      PERFORM exit_program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*$Comment: begin&lt;/P&gt;&lt;P&gt;    WHEN 'DELETE'.&lt;/P&gt;&lt;P&gt;      CALL METHOD tree1-&amp;gt;delete_subtree&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          i_node_key                = gd_delete_nkey  " = folder 'AA'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_UPDATE_PARENTS_EXPANDER = SPACE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         I_UPDATE_PARENTS_FOLDER   = SPACE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        EXCEPTIONS&lt;/P&gt;&lt;P&gt;          node_key_not_in_model     = 1&lt;/P&gt;&lt;P&gt;          OTHERS                    = 2.&lt;/P&gt;&lt;P&gt;      IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL METHOD tree1-&amp;gt;update_calculations&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          no_frontend_update = ' '. " do frontend update&lt;/P&gt;&lt;P&gt;*$Comment: end&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      CALL METHOD cl_gui_cfw=&amp;gt;dispatch.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;  CLEAR ok_code.&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                             " PAI  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  build_fieldcatalog&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;      build fieldcatalog for structure sflight&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_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get fieldcatalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_structure_name = 'SFLIGHT'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      ct_fieldcat      = gt_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT gt_fieldcatalog BY scrtext_l.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;change fieldcatalog&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: ls_fieldcatalog TYPE lvc_s_fcat.&lt;/P&gt;&lt;P&gt;  LOOP AT gt_fieldcatalog INTO ls_fieldcatalog.&lt;/P&gt;&lt;P&gt;    CASE ls_fieldcatalog-fieldname.&lt;/P&gt;&lt;P&gt;      WHEN 'CARRID' OR 'CONNID' OR 'FLDATE'.&lt;/P&gt;&lt;P&gt;        ls_fieldcatalog-no_out = 'X'.&lt;/P&gt;&lt;P&gt;        ls_fieldcatalog-key    = ''.&lt;/P&gt;&lt;P&gt;      WHEN 'PRICE' OR 'SEATSOCC' OR 'SEATSMAX' OR 'PAYMENTSUM'.&lt;/P&gt;&lt;P&gt;        ls_fieldcatalog-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;    MODIFY gt_fieldcatalog FROM ls_fieldcatalog.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " build_fieldcatalog&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_hierarchy_header&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;      build hierarchy-header-information&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_L_HIERARCHY_HEADER  strucxture for hierarchy-header&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_hierarchy_header CHANGING&lt;/P&gt;&lt;P&gt;                               p_hierarchy_header TYPE treev_hhdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  p_hierarchy_header-heading = 'Hierarchy Header'.          "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  p_hierarchy_header-tooltip =&lt;/P&gt;&lt;P&gt;                         'This is the Hierarchy Header !'.  "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  p_hierarchy_header-width = 30.&lt;/P&gt;&lt;P&gt;  p_hierarchy_header-width_pix = ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " build_hierarchy_header&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  exit_program&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;      free object and leave program&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 exit_program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD tree1-&amp;gt;free.&lt;/P&gt;&lt;P&gt;  LEAVE PROGRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " exit_program&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_header&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;      build table for html_header&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 build_comment USING&lt;/P&gt;&lt;P&gt;      pt_list_commentary TYPE slis_t_listheader&lt;/P&gt;&lt;P&gt;      p_logo             TYPE sdydo_value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_line TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LIST HEADING LINE: TYPE H&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'H'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LS_LINE-KEY:  NOT USED FOR THIS TYPE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ls_line-info = 'ALV-tree-demo: flight-overview'.          "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO pt_list_commentary.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STATUS LINE: TYPE S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'S'.&lt;/P&gt;&lt;P&gt;  ls_line-key  = 'valid until'.                             "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  ls_line-info = 'January 29 1999'.                         "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO pt_list_commentary.&lt;/P&gt;&lt;P&gt;  ls_line-key  = 'time'.&lt;/P&gt;&lt;P&gt;  ls_line-info = '2.00 pm'.                                 "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO pt_list_commentary.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ACTION LINE: TYPE A&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR ls_line.&lt;/P&gt;&lt;P&gt;  ls_line-typ  = 'A'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LS_LINE-KEY:  NOT USED FOR THIS TYPE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ls_line-info = 'actual data'.                             "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  APPEND ls_line TO pt_list_commentary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  p_logo = 'ENJOYSAP_LOGO'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "build_comment&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_hierarchy&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_hierarchy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_sflight TYPE sflight,&lt;/P&gt;&lt;P&gt;        lt_sflight TYPE sflight OCCURS 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT * FROM sflight INTO TABLE lt_sflight&lt;/P&gt;&lt;P&gt;                        UP TO 200 ROWS .                "#EC CI_NOWHERE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT lt_sflight BY carrid connid fldate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add data to tree&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_carrid_key TYPE lvc_nkey,&lt;/P&gt;&lt;P&gt;        l_connid_key TYPE lvc_nkey,&lt;/P&gt;&lt;P&gt;        l_last_key TYPE lvc_nkey.&lt;/P&gt;&lt;P&gt;  LOOP AT lt_sflight INTO ls_sflight.&lt;/P&gt;&lt;P&gt;    ON CHANGE OF ls_sflight-carrid.&lt;/P&gt;&lt;P&gt;      PERFORM add_carrid_line USING    ls_sflight&lt;/P&gt;&lt;P&gt;                                       ''&lt;/P&gt;&lt;P&gt;                              CHANGING l_carrid_key.&lt;/P&gt;&lt;P&gt;    ENDON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*$Comment: begin&lt;/P&gt;&lt;P&gt;    IF ( ls_sflight-carrid = 'AA' ).&lt;/P&gt;&lt;P&gt;      gd_delete_nkey = l_carrid_key.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*$Comment: end&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ON CHANGE OF ls_sflight-connid.&lt;/P&gt;&lt;P&gt;      PERFORM add_connid_line USING    ls_sflight&lt;/P&gt;&lt;P&gt;                                       l_carrid_key&lt;/P&gt;&lt;P&gt;                              CHANGING l_connid_key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDON.&lt;/P&gt;&lt;P&gt;    PERFORM add_complete_line USING  ls_sflight&lt;/P&gt;&lt;P&gt;                                     l_connid_key&lt;/P&gt;&lt;P&gt;                            CHANGING l_last_key.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;calculate totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD tree1-&amp;gt;update_calculations.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;this method must be called to send the data to the frontend&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD tree1-&amp;gt;frontend_update.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " create_hierarchy&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  add_carrid_line&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;      add hierarchy-level 1 to tree&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_LS_SFLIGHT  sflight&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_RELEATKEY   relatkey&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    &amp;lt;--&amp;gt;p_node_key    new node-key&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 add_carrid_line USING     ps_sflight TYPE sflight&lt;/P&gt;&lt;P&gt;                               p_relat_key TYPE lvc_nkey&lt;/P&gt;&lt;P&gt;                     CHANGING  p_node_key TYPE lvc_nkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_node_text TYPE lvc_value,&lt;/P&gt;&lt;P&gt;        ls_sflight TYPE sflight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set item-layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: lt_item_layout TYPE lvc_t_layi,&lt;/P&gt;&lt;P&gt;        ls_item_layout TYPE lvc_s_layi.&lt;/P&gt;&lt;P&gt;  ls_item_layout-t_image = '@3P@'.&lt;/P&gt;&lt;P&gt;  ls_item_layout-fieldname = tree1-&amp;gt;c_hierarchy_column_name.&lt;/P&gt;&lt;P&gt;  ls_item_layout-style   =&lt;/P&gt;&lt;P&gt;                        cl_gui_column_tree=&amp;gt;style_intensifd_critical.&lt;/P&gt;&lt;P&gt;  APPEND ls_item_layout TO lt_item_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_node_text =  ps_sflight-carrid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_node TYPE lvc_s_layn.&lt;/P&gt;&lt;P&gt;  ls_node-n_image   = space.&lt;/P&gt;&lt;P&gt;  ls_node-exp_image = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD tree1-&amp;gt;add_node&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_relat_node_key = p_relat_key&lt;/P&gt;&lt;P&gt;      i_relationship   = cl_gui_column_tree=&amp;gt;relat_last_child&lt;/P&gt;&lt;P&gt;      i_node_text      = l_node_text&lt;/P&gt;&lt;P&gt;      is_outtab_line   = ls_sflight&lt;/P&gt;&lt;P&gt;      is_node_layout   = ls_node&lt;/P&gt;&lt;P&gt;      it_item_layout   = lt_item_layout&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_new_node_key   = p_node_key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " add_carrid_line&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  add_connid_line&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;      add hierarchy-level 2 to tree&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_LS_SFLIGHT  sflight&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_RELEATKEY   relatkey&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    &amp;lt;--&amp;gt;p_node_key    new node-key&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 add_connid_line USING     ps_sflight TYPE sflight&lt;/P&gt;&lt;P&gt;                               p_relat_key TYPE lvc_nkey&lt;/P&gt;&lt;P&gt;                     CHANGING  p_node_key TYPE lvc_nkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_node_text TYPE lvc_value,&lt;/P&gt;&lt;P&gt;        ls_sflight TYPE sflight.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set item-layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: lt_item_layout TYPE lvc_t_layi,&lt;/P&gt;&lt;P&gt;        ls_item_layout TYPE lvc_s_layi.&lt;/P&gt;&lt;P&gt;  ls_item_layout-t_image = '@3Y@'.&lt;/P&gt;&lt;P&gt;  ls_item_layout-style   =&lt;/P&gt;&lt;P&gt;                        cl_gui_column_tree=&amp;gt;style_intensified.&lt;/P&gt;&lt;P&gt;  ls_item_layout-fieldname = tree1-&amp;gt;c_hierarchy_column_name.&lt;/P&gt;&lt;P&gt;  APPEND ls_item_layout TO lt_item_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_node_text =  ps_sflight-connid.&lt;/P&gt;&lt;P&gt;  CALL METHOD tree1-&amp;gt;add_node&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_relat_node_key = p_relat_key&lt;/P&gt;&lt;P&gt;      i_relationship   = cl_gui_column_tree=&amp;gt;relat_last_child&lt;/P&gt;&lt;P&gt;      i_node_text      = l_node_text&lt;/P&gt;&lt;P&gt;      is_outtab_line   = ls_sflight&lt;/P&gt;&lt;P&gt;      it_item_layout   = lt_item_layout&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_new_node_key   = p_node_key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " add_connid_line&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  add_cmplete_line&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;      add hierarchy-level 3 to tree&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_LS_SFLIGHT  sflight&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_RELEATKEY   relatkey&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    &amp;lt;--&amp;gt;p_node_key    new node-key&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 add_complete_line USING   ps_sflight TYPE sflight&lt;/P&gt;&lt;P&gt;                               p_relat_key TYPE lvc_nkey&lt;/P&gt;&lt;P&gt;                     CHANGING  p_node_key TYPE lvc_nkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_node_text TYPE lvc_value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set item-layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: lt_item_layout TYPE lvc_t_layi,&lt;/P&gt;&lt;P&gt;        ls_item_layout TYPE lvc_s_layi.&lt;/P&gt;&lt;P&gt;  ls_item_layout-fieldname = tree1-&amp;gt;c_hierarchy_column_name.&lt;/P&gt;&lt;P&gt;  ls_item_layout-class   = cl_gui_column_tree=&amp;gt;item_class_checkbox.&lt;/P&gt;&lt;P&gt;  ls_item_layout-editable = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND ls_item_layout TO lt_item_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR ls_item_layout.&lt;/P&gt;&lt;P&gt;  ls_item_layout-fieldname = 'PLANETYPE'.&lt;/P&gt;&lt;P&gt;  ls_item_layout-alignment = cl_gui_column_tree=&amp;gt;align_right.&lt;/P&gt;&lt;P&gt;  APPEND ls_item_layout TO lt_item_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_node_text =  ps_sflight-fldate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: ls_node TYPE lvc_s_layn.&lt;/P&gt;&lt;P&gt;  ls_node-n_image   = space.&lt;/P&gt;&lt;P&gt;  ls_node-exp_image = space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD tree1-&amp;gt;add_node&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_relat_node_key = p_relat_key&lt;/P&gt;&lt;P&gt;      i_relationship   = cl_gui_column_tree=&amp;gt;relat_last_child&lt;/P&gt;&lt;P&gt;      is_outtab_line   = ps_sflight&lt;/P&gt;&lt;P&gt;      i_node_text      = l_node_text&lt;/P&gt;&lt;P&gt;      is_node_layout   = ls_node&lt;/P&gt;&lt;P&gt;      it_item_layout   = lt_item_layout&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_new_node_key   = p_node_key.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " add_complete_line&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  register_events&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 register_events.&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;/UL&gt;&lt;P&gt;  DATA: lt_events TYPE cntl_simple_events,&lt;/P&gt;&lt;P&gt;        l_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;define the events which will be passed to the backend&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_event-eventid = cl_gui_column_tree=&amp;gt;eventid_expand_no_children.&lt;/P&gt;&lt;P&gt;  APPEND l_event TO lt_events.&lt;/P&gt;&lt;P&gt;  l_event-eventid = cl_gui_column_tree=&amp;gt;eventid_checkbox_change.&lt;/P&gt;&lt;P&gt;  APPEND l_event TO lt_events.&lt;/P&gt;&lt;P&gt;  l_event-eventid = cl_gui_column_tree=&amp;gt;eventid_header_context_men_req.&lt;/P&gt;&lt;P&gt;  APPEND l_event TO lt_events.&lt;/P&gt;&lt;P&gt;  l_event-eventid = cl_gui_column_tree=&amp;gt;eventid_node_context_menu_req.&lt;/P&gt;&lt;P&gt;  APPEND l_event TO lt_events.&lt;/P&gt;&lt;P&gt;  l_event-eventid = cl_gui_column_tree=&amp;gt;eventid_item_context_menu_req.&lt;/P&gt;&lt;P&gt;  APPEND l_event TO lt_events.&lt;/P&gt;&lt;P&gt;  l_event-eventid = cl_gui_column_tree=&amp;gt;eventid_header_click.&lt;/P&gt;&lt;P&gt;  APPEND l_event TO lt_events.&lt;/P&gt;&lt;P&gt;  l_event-eventid = cl_gui_column_tree=&amp;gt;eventid_item_keypress.&lt;/P&gt;&lt;P&gt;  APPEND l_event TO lt_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD tree1-&amp;gt;set_registered_events&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      events                    = lt_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 x208(00) WITH 'ERROR'.                          "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&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;set Handler&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_event_receiver TYPE REF TO lcl_tree_event_receiver.&lt;/P&gt;&lt;P&gt;  CREATE OBJECT l_event_receiver.&lt;/P&gt;&lt;P&gt;  SET HANDLER l_event_receiver-&amp;gt;handle_node_ctmenu_request&lt;/P&gt;&lt;P&gt;                                                        FOR tree1.&lt;/P&gt;&lt;P&gt;  SET HANDLER l_event_receiver-&amp;gt;handle_node_ctmenu_selected&lt;/P&gt;&lt;P&gt;                                                        FOR tree1.&lt;/P&gt;&lt;P&gt;  SET HANDLER l_event_receiver-&amp;gt;handle_item_ctmenu_request&lt;/P&gt;&lt;P&gt;                                                        FOR tree1.&lt;/P&gt;&lt;P&gt;  SET HANDLER l_event_receiver-&amp;gt;handle_item_ctmenu_selected&lt;/P&gt;&lt;P&gt;                                                        FOR tree1.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " register_events&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  change_toolbar&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 change_toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get toolbar control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD tree1-&amp;gt;get_toolbar_object&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      er_toolbar = mr_toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK NOT mr_toolbar IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add seperator to toolbar&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD mr_toolbar-&amp;gt;add_button&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      fcode     = ''&lt;/P&gt;&lt;P&gt;      icon      = ''&lt;/P&gt;&lt;P&gt;      butn_type = cntb_btype_sep&lt;/P&gt;&lt;P&gt;      text      = ''&lt;/P&gt;&lt;P&gt;      quickinfo = 'This is a Seperator'.                    "#EC NOTEXT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add Standard Button to toolbar (for Delete Subtree)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD mr_toolbar-&amp;gt;add_button&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      fcode     = 'DELETE'&lt;/P&gt;&lt;P&gt;      icon      = '@18@'&lt;/P&gt;&lt;P&gt;      butn_type = cntb_btype_button&lt;/P&gt;&lt;P&gt;      text      = ''&lt;/P&gt;&lt;P&gt;      quickinfo = 'Delete subtree'.                         "#EC NOTEXT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add Dropdown Button to toolbar (for Insert Line)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD mr_toolbar-&amp;gt;add_button&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      fcode     = 'INSERT_LC'&lt;/P&gt;&lt;P&gt;      icon      = '@17@'&lt;/P&gt;&lt;P&gt;      butn_type = cntb_btype_dropdown&lt;/P&gt;&lt;P&gt;      text      = ''&lt;/P&gt;&lt;P&gt;      quickinfo = 'Insert Line'.                            "#EC NOTEXT&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;Add SUBMIT-Button&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD mr_toolbar-&amp;gt;add_button&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      fcode     = 'SUBMIT'&lt;/P&gt;&lt;P&gt;      icon      = '@15@'&lt;/P&gt;&lt;P&gt;      butn_type = cntb_btype_button&lt;/P&gt;&lt;P&gt;      text      = ''&lt;/P&gt;&lt;P&gt;      quickinfo = 'SUBMIT report'.                         "#EC NOTEXT&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set event-handler for toolbar-control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT toolbar_event_receiver.&lt;/P&gt;&lt;P&gt;  SET HANDLER toolbar_event_receiver-&amp;gt;on_function_selected&lt;/P&gt;&lt;P&gt;                                                      FOR mr_toolbar.&lt;/P&gt;&lt;P&gt;  SET HANDLER toolbar_event_receiver-&amp;gt;on_toolbar_dropdown&lt;/P&gt;&lt;P&gt;                                                      FOR mr_toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " change_toolbar&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  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 init_tree.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create fieldcatalog for structure sflight&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM build_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="3" type="ul"&gt;&lt;P&gt;create container for alv-tree&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; DATA: l_tree_container_name(30) TYPE c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       l_custom_container TYPE REF TO cl_gui_custom_container.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; l_tree_container_name = 'TREE1'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&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;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; IF sy-batch IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   CREATE OBJECT l_custom_container&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;           container_name = l_tree_container_name&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;           cntl_error                  = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;           cntl_system_error           = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;           create_error                = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;           lifetime_error              = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;           lifetime_dynpro_dynpro_link = 5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     MESSAGE x208(00) WITH 'ERROR'.                        "#EC&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*NOTEXT&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create tree control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT tree1&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;        parent              = go_cell_left&lt;/P&gt;&lt;P&gt;        node_selection_mode = cl_gui_column_tree=&amp;gt;node_sel_mode_single&lt;/P&gt;&lt;P&gt;        item_selection      = 'X'&lt;/P&gt;&lt;P&gt;        no_html_header      = ''&lt;/P&gt;&lt;P&gt;        no_toolbar          = ''&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;        illegal_node_selection_mode  = 5&lt;/P&gt;&lt;P&gt;        failed                       = 6&lt;/P&gt;&lt;P&gt;        illegal_column_name          = 7.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE x208(00) WITH 'ERROR'.                          "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&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;create Hierarchy-header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA l_hierarchy_header TYPE treev_hhdr.&lt;/P&gt;&lt;P&gt;  PERFORM build_hierarchy_header CHANGING l_hierarchy_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create info-table for html-header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: lt_list_commentary TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;        l_logo             TYPE sdydo_value.&lt;/P&gt;&lt;P&gt;  PERFORM build_comment USING&lt;/P&gt;&lt;P&gt;                 lt_list_commentary&lt;/P&gt;&lt;P&gt;                 l_logo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;repid for saving variants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: ls_variant TYPE disvariant.&lt;/P&gt;&lt;P&gt;  ls_variant-report = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create emty tree-control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD tree1-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      is_hierarchy_header = l_hierarchy_header&lt;/P&gt;&lt;P&gt;      it_list_commentary  = lt_list_commentary&lt;/P&gt;&lt;P&gt;      i_logo              = l_logo&lt;/P&gt;&lt;P&gt;      i_background_id     = 'ALV_BACKGROUND'&lt;/P&gt;&lt;P&gt;      i_save              = 'A'&lt;/P&gt;&lt;P&gt;      is_variant          = ls_variant&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      it_outtab           = gt_sflight "table must be emty !!&lt;/P&gt;&lt;P&gt;      it_fieldcatalog     = gt_fieldcatalog.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create hierarchy&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM create_hierarchy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;add own functioncodes to the toolbar&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM change_toolbar.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;register events&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM register_events.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;adjust column_width&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;call method tree1-&amp;gt;COLUMN_OPTIMIZE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " init_tree[/code]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;INCLUDE ZUS_SDN_BCALV_TB_EVENT_RCVR8.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[code]&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;  INCLUDE ZUS_SDN_BCALV_TB_EVENT_RCVR8                               *&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;CLASS lcl_toolbar_event_receiver DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS: on_function_selected&lt;/P&gt;&lt;P&gt;               FOR EVENT function_selected OF cl_gui_toolbar&lt;/P&gt;&lt;P&gt;                 IMPORTING fcode,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             on_toolbar_dropdown&lt;/P&gt;&lt;P&gt;               FOR EVENT dropdown_clicked OF cl_gui_toolbar&lt;/P&gt;&lt;P&gt;                 IMPORTING fcode&lt;/P&gt;&lt;P&gt;                           posx&lt;/P&gt;&lt;P&gt;                           posy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_toolbar_event_receiver 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_toolbar_event_receiver 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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ........                                                      *&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;CLASS lcl_toolbar_event_receiver IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD on_function_selected.&lt;/P&gt;&lt;P&gt;    DATA: ls_sflight TYPE sflight.&lt;/P&gt;&lt;P&gt;    CASE fcode.&lt;/P&gt;&lt;P&gt;      WHEN 'SUBMIT'.&lt;/P&gt;&lt;P&gt;        SUBMIT zus_sdn_two_alv_grids AND RETURN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'DELETE'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      get selected node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        DATA: lt_selected_node TYPE lvc_t_nkey.&lt;/P&gt;&lt;P&gt;        CALL METHOD tree1-&amp;gt;get_selected_nodes&lt;/P&gt;&lt;P&gt;          CHANGING&lt;/P&gt;&lt;P&gt;            ct_selected_nodes = lt_selected_node.&lt;/P&gt;&lt;P&gt;        CALL METHOD cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;        DATA l_selected_node TYPE lvc_nkey.&lt;/P&gt;&lt;P&gt;        READ TABLE lt_selected_node INTO l_selected_node INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      delete subtree&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF NOT l_selected_node IS INITIAL.&lt;/P&gt;&lt;P&gt;          CALL METHOD tree1-&amp;gt;delete_subtree&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              i_node_key                = l_selected_node&lt;/P&gt;&lt;P&gt;              i_update_parents_expander = ''&lt;/P&gt;&lt;P&gt;              i_update_parents_folder   = 'X'.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MESSAGE i227(0h).&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN 'INSERT_LC'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      get selected node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL METHOD tree1-&amp;gt;get_selected_nodes&lt;/P&gt;&lt;P&gt;          CHANGING&lt;/P&gt;&lt;P&gt;            ct_selected_nodes = lt_selected_node.&lt;/P&gt;&lt;P&gt;        CALL METHOD cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;        READ TABLE lt_selected_node INTO l_selected_node INDEX 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      get current Line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF NOT l_selected_node IS INITIAL.&lt;/P&gt;&lt;P&gt;          CALL METHOD tree1-&amp;gt;get_outtab_line&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              i_node_key    = l_selected_node&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              e_outtab_line = ls_sflight.&lt;/P&gt;&lt;P&gt;          ls_sflight-seatsmax = ls_sflight-price + 99.&lt;/P&gt;&lt;P&gt;          ls_sflight-price = ls_sflight-seatsmax + '99.99'.&lt;/P&gt;&lt;P&gt;          CALL METHOD tree1-&amp;gt;add_node&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              i_relat_node_key = l_selected_node&lt;/P&gt;&lt;P&gt;              i_relationship   = cl_tree_control_base=&amp;gt;relat_last_child&lt;/P&gt;&lt;P&gt;              is_outtab_line   = ls_sflight&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            is_node_layout&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            it_item_layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              i_node_text      = 'Last Child'.              "#EC NOTEXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          importing&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            e_new_node_key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MESSAGE i227(0h).&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'INSERT_FC'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      get selected node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL METHOD tree1-&amp;gt;get_selected_nodes&lt;/P&gt;&lt;P&gt;          CHANGING&lt;/P&gt;&lt;P&gt;            ct_selected_nodes = lt_selected_node.&lt;/P&gt;&lt;P&gt;        CALL METHOD cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;        READ TABLE lt_selected_node INTO l_selected_node INDEX 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      get current Line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF NOT l_selected_node IS INITIAL.&lt;/P&gt;&lt;P&gt;          CALL METHOD tree1-&amp;gt;get_outtab_line&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              i_node_key    = l_selected_node&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              e_outtab_line = ls_sflight.&lt;/P&gt;&lt;P&gt;          ls_sflight-seatsmax = ls_sflight-price + 99.&lt;/P&gt;&lt;P&gt;          ls_sflight-price = ls_sflight-seatsmax + '99.99'.&lt;/P&gt;&lt;P&gt;          CALL METHOD tree1-&amp;gt;add_node&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              i_relat_node_key = l_selected_node&lt;/P&gt;&lt;P&gt;              i_relationship   = cl_tree_control_base=&amp;gt;relat_first_child&lt;/P&gt;&lt;P&gt;              is_outtab_line   = ls_sflight&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            is_node_layout&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            it_item_layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              i_node_text      = 'First Child'.             "#EC NOTEXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          importing&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            e_new_node_key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MESSAGE i227(0h).&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'INSERT_FS'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      get selected node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL METHOD tree1-&amp;gt;get_selected_nodes&lt;/P&gt;&lt;P&gt;          CHANGING&lt;/P&gt;&lt;P&gt;            ct_selected_nodes = lt_selected_node.&lt;/P&gt;&lt;P&gt;        CALL METHOD cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;        READ TABLE lt_selected_node INTO l_selected_node INDEX 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      get current Line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF NOT l_selected_node IS INITIAL.&lt;/P&gt;&lt;P&gt;          CALL METHOD tree1-&amp;gt;get_outtab_line&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              i_node_key    = l_selected_node&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              e_outtab_line = ls_sflight.&lt;/P&gt;&lt;P&gt;          ls_sflight-seatsmax = ls_sflight-price + 99.&lt;/P&gt;&lt;P&gt;          ls_sflight-price = ls_sflight-seatsmax + '99.99'.&lt;/P&gt;&lt;P&gt;          CALL METHOD tree1-&amp;gt;add_node&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              i_relat_node_key = l_selected_node&lt;/P&gt;&lt;P&gt;              i_relationship   =&lt;/P&gt;&lt;P&gt;                             cl_tree_control_base=&amp;gt;relat_first_sibling&lt;/P&gt;&lt;P&gt;              is_outtab_line   = ls_sflight&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            is_node_layout&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            it_item_layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              i_node_text      = 'First Sibling'.           "#EC NOTEXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          importing&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            e_new_node_key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MESSAGE i227(0h).&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'INSERT_LS'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      get selected node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL METHOD tree1-&amp;gt;get_selected_nodes&lt;/P&gt;&lt;P&gt;          CHANGING&lt;/P&gt;&lt;P&gt;            ct_selected_nodes = lt_selected_node.&lt;/P&gt;&lt;P&gt;        CALL METHOD cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;        READ TABLE lt_selected_node INTO l_selected_node INDEX 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      get current Line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF NOT l_selected_node IS INITIAL.&lt;/P&gt;&lt;P&gt;          CALL METHOD tree1-&amp;gt;get_outtab_line&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              i_node_key    = l_selected_node&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              e_outtab_line = ls_sflight.&lt;/P&gt;&lt;P&gt;          ls_sflight-seatsmax = ls_sflight-price + 99.&lt;/P&gt;&lt;P&gt;          ls_sflight-price = ls_sflight-seatsmax + '99.99'.&lt;/P&gt;&lt;P&gt;          CALL METHOD tree1-&amp;gt;add_node&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              i_relat_node_key = l_selected_node&lt;/P&gt;&lt;P&gt;              i_relationship   =&lt;/P&gt;&lt;P&gt;                             cl_tree_control_base=&amp;gt;relat_last_sibling&lt;/P&gt;&lt;P&gt;              is_outtab_line   = ls_sflight&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            is_node_layout&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            it_item_layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              i_node_text      = 'Last Sibling'.            "#EC NOTEXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          importing&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            e_new_node_key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MESSAGE i227(0h).&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      WHEN 'INSERT_NS'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      get selected node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL METHOD tree1-&amp;gt;get_selected_nodes&lt;/P&gt;&lt;P&gt;          CHANGING&lt;/P&gt;&lt;P&gt;            ct_selected_nodes = lt_selected_node.&lt;/P&gt;&lt;P&gt;        CALL METHOD cl_gui_cfw=&amp;gt;flush.&lt;/P&gt;&lt;P&gt;        READ TABLE lt_selected_node INTO l_selected_node INDEX 1.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      get current Line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        IF NOT l_selected_node IS INITIAL.&lt;/P&gt;&lt;P&gt;          CALL METHOD tree1-&amp;gt;get_outtab_line&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              i_node_key    = l_selected_node&lt;/P&gt;&lt;P&gt;            IMPORTING&lt;/P&gt;&lt;P&gt;              e_outtab_line = ls_sflight.&lt;/P&gt;&lt;P&gt;          ls_sflight-seatsmax = ls_sflight-price + 99.&lt;/P&gt;&lt;P&gt;          ls_sflight-price = ls_sflight-seatsmax + '99.99'.&lt;/P&gt;&lt;P&gt;          CALL METHOD tree1-&amp;gt;add_node&lt;/P&gt;&lt;P&gt;            EXPORTING&lt;/P&gt;&lt;P&gt;              i_relat_node_key = l_selected_node&lt;/P&gt;&lt;P&gt;              i_relationship   =&lt;/P&gt;&lt;P&gt;                             cl_tree_control_base=&amp;gt;relat_next_sibling&lt;/P&gt;&lt;P&gt;              is_outtab_line   = ls_sflight&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            is_node_layout&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            it_item_layout&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;              i_node_text      = 'Next Sibling'.            "#EC NOTEXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          importing&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            e_new_node_key&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          MESSAGE i227(0h).&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  update frontend&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL METHOD tree1-&amp;gt;frontend_update.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "on_function_selected&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD on_toolbar_dropdown.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;create contextmenu&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DATA: l_menu TYPE REF TO cl_ctmenu,&lt;/P&gt;&lt;P&gt;          l_fc_handled TYPE as4flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CREATE OBJECT l_menu.&lt;/P&gt;&lt;P&gt;    CLEAR l_fc_handled.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CASE fcode.&lt;/P&gt;&lt;P&gt;      WHEN 'INSERT_LC'.&lt;/P&gt;&lt;P&gt;        l_fc_handled = 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      insert as last child&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL METHOD l_menu-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            fcode = 'INSERT_LC'&lt;/P&gt;&lt;P&gt;            text  = 'Insert New Line as Last Child'.        "#EC NOTEXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      insert as first child&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL METHOD l_menu-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            fcode = 'INSERT_FC'&lt;/P&gt;&lt;P&gt;            text  = 'Insert New Line as First Child'.       "#EC NOTEXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      insert as next sibling&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL METHOD l_menu-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            fcode = 'INSERT_NS'&lt;/P&gt;&lt;P&gt;            text  = 'Insert New Line as Next Sibling'.      "#EC NOTEXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      insert as last sibling&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL METHOD l_menu-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            fcode = 'INSERT_LS'&lt;/P&gt;&lt;P&gt;            text  = 'Insert New Line as Last Sibling'.      "#EC NOTEXT&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      insert as first sibling&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        CALL METHOD l_menu-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;          EXPORTING&lt;/P&gt;&lt;P&gt;            fcode = 'INSERT_FS'&lt;/P&gt;&lt;P&gt;            text  = 'Insert New Line as First Sibling'.     "#EC NOTEXT&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;show dropdownbox&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF l_fc_handled = 'X'.&lt;/P&gt;&lt;P&gt;      CALL METHOD mr_toolbar-&amp;gt;track_context_menu&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          context_menu = l_menu&lt;/P&gt;&lt;P&gt;          posx         = posx&lt;/P&gt;&lt;P&gt;          posy         = posy.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "on_toolbar_dropdown&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_toolbar_event_receiver IMPLEMENTATION[/code]&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;&amp;lt;b&amp;gt;INCLUDE ZUS_SDN_BCALV_TREE_EVENT_RCVR8.&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[code]&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;  INCLUDE ZUS_SDN_BCALV_TREE_EVENT_RCVR8                                  *&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;class lcl_tree_event_receiver definition.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  public section.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    methods handle_node_ctmenu_request&lt;/P&gt;&lt;P&gt;      for event node_context_menu_request of cl_gui_alv_tree&lt;/P&gt;&lt;P&gt;        importing node_key&lt;/P&gt;&lt;P&gt;                  menu.&lt;/P&gt;&lt;P&gt;    methods handle_node_ctmenu_selected&lt;/P&gt;&lt;P&gt;      for event node_context_menu_selected of cl_gui_alv_tree&lt;/P&gt;&lt;P&gt;        importing node_key&lt;/P&gt;&lt;P&gt;                  fcode.&lt;/P&gt;&lt;P&gt;    methods handle_item_ctmenu_request&lt;/P&gt;&lt;P&gt;      for event item_context_menu_request of cl_gui_alv_tree&lt;/P&gt;&lt;P&gt;        importing node_key&lt;/P&gt;&lt;P&gt;                  fieldname&lt;/P&gt;&lt;P&gt;                  menu.&lt;/P&gt;&lt;P&gt;    methods handle_item_ctmenu_selected&lt;/P&gt;&lt;P&gt;      for event item_context_menu_selected of cl_gui_alv_tree&lt;/P&gt;&lt;P&gt;        importing node_key&lt;/P&gt;&lt;P&gt;                  fieldname&lt;/P&gt;&lt;P&gt;                  fcode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    methods handle_item_double_click&lt;/P&gt;&lt;P&gt;      for event item_double_click of cl_gui_alv_tree&lt;/P&gt;&lt;P&gt;      importing node_key&lt;/P&gt;&lt;P&gt;                fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    methods handle_button_click&lt;/P&gt;&lt;P&gt;      for event button_click of cl_gui_alv_tree&lt;/P&gt;&lt;P&gt;      importing node_key&lt;/P&gt;&lt;P&gt;                fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    methods handle_link_click&lt;/P&gt;&lt;P&gt;      for event link_click of cl_gui_alv_tree&lt;/P&gt;&lt;P&gt;      importing node_key&lt;/P&gt;&lt;P&gt;                fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    methods handle_header_click&lt;/P&gt;&lt;P&gt;      for event header_click of cl_gui_alv_tree&lt;/P&gt;&lt;P&gt;      importing fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endclass.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;class lcl_tree_event_receiver implementation.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method handle_node_ctmenu_request.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  append own functions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call method menu-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;                exporting fcode   = 'USER1'&lt;/P&gt;&lt;P&gt;                          text    = 'Usercmd 1'.          "#EC NOTEXT&lt;/P&gt;&lt;P&gt;    call method menu-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;                exporting fcode   = 'USER2'&lt;/P&gt;&lt;P&gt;                          text    = 'Usercmd 2'.          "#EC NOTEXT&lt;/P&gt;&lt;P&gt;    call method menu-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;                exporting fcode   = 'USER3'&lt;/P&gt;&lt;P&gt;                          text    = 'Usercmd 3'.          "#EC NOTEXT&lt;/P&gt;&lt;P&gt;  endmethod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method handle_node_ctmenu_selected.&lt;/P&gt;&lt;P&gt;    case fcode.&lt;/P&gt;&lt;P&gt;      when 'USER1' or 'USER2' or 'USER3'.&lt;/P&gt;&lt;P&gt;        message i000(0h) with 'Node-Context-Menu on Node ' node_key&lt;/P&gt;&lt;P&gt;                              'fcode : ' fcode.           "#EC NOTEXT&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;  endmethod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method handle_item_ctmenu_request .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  append own functions&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    call method menu-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;                exporting fcode   = 'USER1'&lt;/P&gt;&lt;P&gt;                          text    = 'Usercmd 1'.&lt;/P&gt;&lt;P&gt;    call method menu-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;                exporting fcode   = 'USER2'&lt;/P&gt;&lt;P&gt;                          text    = 'Usercmd 2'.&lt;/P&gt;&lt;P&gt;    call method menu-&amp;gt;add_function&lt;/P&gt;&lt;P&gt;                exporting fcode   = 'USER3'&lt;/P&gt;&lt;P&gt;                          text    = 'Usercmd 3'.&lt;/P&gt;&lt;P&gt;  endmethod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method handle_item_ctmenu_selected.&lt;/P&gt;&lt;P&gt;    case fcode.&lt;/P&gt;&lt;P&gt;      when 'USER1' or 'USER2' or 'USER3'.&lt;/P&gt;&lt;P&gt;        message i000(0h) with 'Item-Context-Menu on Node ' node_key&lt;/P&gt;&lt;P&gt;                              'Fieldname : ' fieldname.    "#EC NOTEXT&lt;/P&gt;&lt;P&gt;    endcase.&lt;/P&gt;&lt;P&gt;  endmethod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method handle_item_double_click.&lt;/P&gt;&lt;P&gt;  endmethod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method handle_button_click.&lt;/P&gt;&lt;P&gt;  endmethod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method handle_link_click.&lt;/P&gt;&lt;P&gt;  endmethod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  method handle_header_click.&lt;/P&gt;&lt;P&gt;  endmethod.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endclass.[/code]&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 03 Jun 2007 07:15:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/submit-inside-a-method-the-automation-queue/m-p/2259014#M489536</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2007-06-03T07:15:42Z</dc:date>
    </item>
  </channel>
</rss>

