<?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 ALV Tree problem!! in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-problem/m-p/2170821#M460387</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Gurus!! &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                 Could you all please help me out to know about the function   call method tree1-&amp;gt;update_calculations.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The thing is I have already displayed an ALV Grid . But I want to display number of hours in total. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  I have debugged the code in detail. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  But I am not getting which parameter should I pass before while creating the tree???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Points will be rewarded for helpful answers....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Sachin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 30 Apr 2007 07:36:07 GMT</pubDate>
    <dc:creator>sonu_p2</dc:creator>
    <dc:date>2007-04-30T07:36:07Z</dc:date>
    <item>
      <title>ALV Tree problem!!</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-problem/m-p/2170821#M460387</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Gurus!! &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                 Could you all please help me out to know about the function   call method tree1-&amp;gt;update_calculations.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The thing is I have already displayed an ALV Grid . But I want to display number of hours in total. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  I have debugged the code in detail. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  But I am not getting which parameter should I pass before while creating the tree???&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Points will be rewarded for helpful answers....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Sachin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Apr 2007 07:36:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-problem/m-p/2170821#M460387</guid>
      <dc:creator>sonu_p2</dc:creator>
      <dc:date>2007-04-30T07:36:07Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Tree problem!!</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-problem/m-p/2170822#M460388</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Sachin&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The hierarchy of the ALV tree defines how column values are accumulated. In order to explain this I have copied sample report BCALV_TREE_DEMO and added to following coding:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;(1) Parameter for adding ROOT node added&amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;...&lt;/P&gt;&lt;P&gt;[code]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;&lt;/P&gt;&lt;P&gt;PARAMETERS:&lt;/P&gt;&lt;P&gt;  p_root    AS CHECKBOX.  " $ADDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;...[/code]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;&lt;/P&gt;&lt;P&gt;(2) Add ROOT node if checkbox parameter p_root is marked&amp;lt;/b&amp;gt;&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;      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;...&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;&lt;/P&gt;&lt;P&gt;  DATA: l_root_key  TYPE lvc_nkey.  " $ADDED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF ( p_root = 'X' ).&lt;/P&gt;&lt;P&gt;    CLEAR: ls_sflight.&lt;/P&gt;&lt;P&gt;    PERFORM add_root_node USING    ls_sflight&lt;/P&gt;&lt;P&gt;                                     ''&lt;/P&gt;&lt;P&gt;                            CHANGING l_root_key.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    l_root_key = ''.&lt;/P&gt;&lt;P&gt;  ENDIF.  " $ADDED&lt;/P&gt;&lt;P&gt;&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;                                       l_root_key  " ''&lt;/P&gt;&lt;P&gt;                              CHANGING l_carrid_key.&lt;/P&gt;&lt;P&gt;    ENDON.&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;P&gt;...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " create_hierarchy[/code]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;b&amp;gt;(3) Routine for adding ROOT node&amp;lt;/b&amp;gt;&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;      Form  add_root_node&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 root node&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_root_node  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 =  'Root = All Airlines'.&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_root_node[/code]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you do not mark the checkbox (p_root) then the highest level of value aggregation are the airlines.&lt;/P&gt;&lt;P&gt;If you mark the checkbox (p_root) then the highest level of value aggregation is for all airlines together.&lt;/P&gt;&lt;P&gt;Thus, the hierarchy defines how the values are accumulated. Method &amp;lt;b&amp;gt;tree1-&amp;gt;update_calcuations&amp;lt;/b&amp;gt; has no parameters whatsoever to influence the accumlation, it simply DOES the accumulation.&lt;/P&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>Mon, 30 Apr 2007 20:46:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-problem/m-p/2170822#M460388</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2007-04-30T20:46:41Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Tree problem!!</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-problem/m-p/2170823#M460389</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Uwe,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The code is given below :-&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PROGRAM  ZSACH_TREE1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_alv_tree         TYPE REF TO cl_gui_alv_tree,&lt;/P&gt;&lt;P&gt;      g_custom_container TYPE REF TO cl_gui_custom_container.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: g_emp TYPE zpm_emp_det OCCURS 0,      "Output-Table&lt;/P&gt;&lt;P&gt;      ok_code LIKE sy-ucomm,&lt;/P&gt;&lt;P&gt;      save_ok LIKE sy-ucomm,           "OK-Code&lt;/P&gt;&lt;P&gt;      g_max TYPE i VALUE 255.&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Module  STATUS_0100  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;MODULE STATUS_0100 OUTPUT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SET PF-STATUS 'xxxxxxxx'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SET TITLEBAR 'xxx'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF g_alv_tree IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM init_tree.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL METHOD cl_gui_cfw=&amp;gt;flush&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 NE 0.&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'POPUP_TO_INFORM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;P&gt;          titel = 'Automation Queue failure'(801)&lt;/P&gt;&lt;P&gt;          txt1  = 'Internal error:'(802)&lt;/P&gt;&lt;P&gt;          txt2  = 'A method in the automation queue'(803)&lt;/P&gt;&lt;P&gt;          txt3  = 'caused a failure.'(804).&lt;/P&gt;&lt;P&gt;    ENDIF.&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;P&gt;ENDMODULE.                 " STATUS_0100  OUTPUT&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;*&amp;amp;----&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;/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;/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;P&gt;&lt;/P&gt;&lt;P&gt; DATA: l_tree_container_name(30) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_tree_container_name = 'SS_TREE'.&lt;/P&gt;&lt;P&gt;&lt;/P&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;     PARENT                      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      container_name              = l_tree_container_name&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     STYLE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     LIFETIME                    = lifetime_default&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     REPID                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     DYNNR                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     NO_AUTODEF_PROGID_DYNNR     =&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;      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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     others                      = 6&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      .&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;  CREATE OBJECT g_alv_tree&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LIFETIME                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      parent                      = g_custom_container&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SHELLSTYLE                  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      node_selection_mode         = cl_gui_column_tree=&amp;gt;node_sel_mode_single&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   HIDE_SELECTION              =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      item_selection              = 'X'&lt;/P&gt;&lt;P&gt;      no_toolbar                  = ''&lt;/P&gt;&lt;P&gt;      no_html_header              = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_PRINT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_FCAT_COMPLETE             =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_MODEL_MODE                =&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;      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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   others                      = 8&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      .&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;  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;P&gt;  CALL METHOD g_alv_tree-&amp;gt;set_table_for_first_display&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      i_structure_name     = 'ZPM_EMP_DET'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_VARIANT           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SAVE               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_DEFAULT            = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      is_hierarchy_header  = l_hierarchy_header&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_EXCEPTION_FIELD   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_SPECIAL_GROUPS    =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_LIST_COMMENTARY   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_LOGO               =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BACKGROUND_ID      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_TOOLBAR_EXCLUDING =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EXCEPT_QINFO      =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      it_outtab            = g_emp&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_FILTER            =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_FIELDCATALOG      =&lt;/P&gt;&lt;/LI&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;P&gt;  PERFORM create_hierarchy.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  &lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD g_alv_tree-&amp;gt;update_calculations.&lt;/P&gt;&lt;BR /&gt;&lt;BR /&gt; CALL METHOD g_alv_tree-&amp;gt;frontend_update.&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;ENDFORM.                    " init_tree&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;*&amp;amp;----&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;/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;lt;--P_L_HIERARCHY_HEADER  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM build_hierarchy_header  CHANGING  p_hierarchy_header TYPE treev_hhdr.&lt;/P&gt;&lt;P&gt;  p_hierarchy_header-heading = 'project name / Emp_ID '(300).&lt;/P&gt;&lt;P&gt;  p_hierarchy_header-tooltip = 'Project Billing Details'(400).&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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_hierarchy_header&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;*&amp;amp;----&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;/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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM create_hierarchy .&lt;/P&gt;&lt;P&gt; DATA: ls_emp TYPE zpm_emp_det,&lt;/P&gt;&lt;P&gt;        lt_emp TYPE zpm_emp_det OCCURS 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_projectname TYPE zpm_emp_item_det-project_name,&lt;/P&gt;&lt;P&gt;        l_projectname_last TYPE zpm_emp_item_det-project_name,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        l_empid TYPE zpm_emp_item_det-empid,&lt;/P&gt;&lt;P&gt;        l_empid_last TYPE zpm_emp_item_det-empid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_projectname_key TYPE lvc_nkey,&lt;/P&gt;&lt;P&gt;        l_ROLE_OF_EMP_key TYPE lvc_nkey,&lt;/P&gt;&lt;P&gt;        l_last_key TYPE lvc_nkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lt_project TYPE zpm_emp_det OCCURS 0,&lt;/P&gt;&lt;P&gt;       ls_project TYPE zpm_emp_det.&lt;/P&gt;&lt;P&gt;  DATA: lt_project1 TYPE zpm_emp_det OCCURS 0,&lt;/P&gt;&lt;P&gt;       ls_project1 TYPE zpm_emp_det.&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;§4a. Select data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT * FROM zpm_project_det INTO CORRESPONDING FIELDS OF TABLE lt_project WHERE zpm_project_det~projectid = '0000000002'.&lt;/P&gt;&lt;P&gt;  LOOP AT lt_project INTO ls_project.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  SELECT * FROM zpm_emp_item_det INTO CORRESPONDING FIELDS OF TABLE lt_project WHERE zpm_emp_item_det~project_name = ls_project-project_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT employee_type empid FROM zpm_emp_head_det&lt;/P&gt;&lt;P&gt;  INTO CORRESPONDING FIELDS OF TABLE lt_project1 FOR ALL ENTRIES IN lt_project&lt;/P&gt;&lt;P&gt;  WHERE zpm_emp_head_det~empid = lt_project-empid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lt_project1 INTO ls_project1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY lt_project FROM ls_project1 TRANSPORTING employee_type WHERE empid = ls_project1-empid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  REFRESH lt_project1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT employee_name empid DESIGNATION FROM zpm_emp_head_det INTO CORRESPONDING FIELDS OF TABLE lt_project1 FOR ALL ENTRIES IN lt_project&lt;/P&gt;&lt;P&gt;  WHERE zpm_emp_head_det~empid = lt_project-empid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lt_project1 INTO ls_project1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MODIFY lt_project FROM ls_project1 TRANSPORTING employee_name DESIGNATION WHERE empid = ls_project1-empid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT lt_project BY project_name employee_type empid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT lt_project INTO  ls_project.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ON CHANGE OF ls_project-project_name.&lt;/P&gt;&lt;P&gt;      PERFORM add_projectname_line USING ls_project&lt;/P&gt;&lt;P&gt;                                               ''&lt;/P&gt;&lt;P&gt;                              CHANGING l_projectname_key.&lt;/P&gt;&lt;P&gt;    ENDON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ON CHANGE OF ls_project-ROLE_OF_EMP.&lt;/P&gt;&lt;P&gt;      PERFORM add_employee_type_line USING  ls_project&lt;/P&gt;&lt;P&gt;                                       l_projectname_key&lt;/P&gt;&lt;P&gt;                                       CHANGING l_ROLE_OF_EMP_key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM add_complete_line USING  ls_project&lt;/P&gt;&lt;P&gt;                                     l_ROLE_OF_EMP_key&lt;/P&gt;&lt;P&gt;                            CHANGING l_last_key.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " create_hierarchy&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  add_projectname_line&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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_PROJECT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_0399   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_L_PROJECTNAME_KEY  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM add_projectname_line  USING   ps_emp TYPE zpm_emp_det&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_emp1 TYPE zpm_emp_det.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_node_text =  ps_emp-project_name.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD g_alv_tree-&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       = ls_emp1&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          = l_node_text&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_new_node_key       = p_node_key&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RELAT_NODE_NOT_FOUND = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   NODE_NOT_FOUND       = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   others               = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&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;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " add_projectname_line&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  add_employee_type_line&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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_PROJECT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_L_PROJECTNAME_KEY  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_L_ROLE_OF_EMP_KEY  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM add_employee_type_line  USING    ps_emp TYPE  zpm_emp_det&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_emp1 TYPE zpm_emp_det.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_node_text =  ps_emp-ROLE_OF_EMP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD g_alv_tree-&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       = ls_emp1&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          = l_node_text&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_new_node_key       = p_node_key&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RELAT_NODE_NOT_FOUND = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   NODE_NOT_FOUND       = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   others               = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&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;P&gt;ENDFORM.                    " add_employee_type_line&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  add_complete_line&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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_PROJECT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_L_ROLE_OF_EMP_KEY  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_L_LAST_KEY  text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM add_complete_line  USING    ps_emp TYPE zpm_emp_det&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;&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_emp1 TYPE zpm_emp_det.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_node_text =  ps_emp-empid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD g_alv_tree-&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_emp&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;LI level="1" type="ul"&gt;&lt;P&gt;   I_NODE_TEXT          = l_node_text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      e_new_node_key       = p_node_key&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RELAT_NODE_NOT_FOUND = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   NODE_NOT_FOUND       = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   others               = 3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          .&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;P&gt;ENDFORM.                    " add_complete_line&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have used the function in the above code &lt;B&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;tree1-&amp;gt;update_calcuations&lt;/P&gt; .&lt;BR /&gt;&lt;BR /&gt;But its displaying the &lt;B&gt;&lt;P&gt;sum&lt;/P&gt;&lt;/B&gt; as &lt;B&gt;&lt;P&gt;0&lt;/P&gt;&lt;/B&gt;.&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kindly explain why is it so?????&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;/P&gt;&lt;P&gt;Sachin&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 May 2007 05:29:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-problem/m-p/2170823#M460389</guid>
      <dc:creator>sonu_p2</dc:creator>
      <dc:date>2007-05-02T05:29:30Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Tree problem!!</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-problem/m-p/2170824#M460390</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi&lt;/P&gt;&lt;P&gt;good&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;go to se38 put BCALV* and press F4,you ll find lots of program related to ALV TREE,test them and use them as per your requirements.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks&lt;/P&gt;&lt;P&gt;mrutyun^&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 May 2007 06:16:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-problem/m-p/2170824#M460390</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-02T06:16:49Z</dc:date>
    </item>
    <item>
      <title>Re: ALV Tree problem!!</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-problem/m-p/2170825#M460391</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;by using field catalog we can solve this problem&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;eg...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM build_fieldcatalog .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&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             = 'ZSACH_PM'&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;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; sort gt_fieldcatalog by scrtext_l.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&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 'RATE_PER_HOUR'.&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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " build_fieldcatalog&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 May 2007 09:59:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-problem/m-p/2170825#M460391</guid>
      <dc:creator>sonu_p2</dc:creator>
      <dc:date>2007-05-08T09:59:24Z</dc:date>
    </item>
  </channel>
</rss>

