<?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 column - code help in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-column-code-help/m-p/3274087#M782713</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;Can any suggest me a code for displaying the below program in alv tree column.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;merlin&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  Z_MANFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: d_screen TYPE REF TO cl_dynpro_info.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for field list of screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: ftab TYPE TABLE OF d021s,&lt;/P&gt;&lt;P&gt;wa_ftab TYPE d021s,&lt;/P&gt;&lt;P&gt;pltab TYPE TABLE OF d022s.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;name of modulpool&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: mpool TYPE repid,&lt;/P&gt;&lt;P&gt;      mpool2 type repid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for screen attributes of field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: es_screen TYPE screen.&lt;/P&gt;&lt;P&gt;DATA: back TYPE t588m-varky.&lt;/P&gt;&lt;P&gt;DATA: status.&lt;/P&gt;&lt;P&gt;DATA: pos TYPE i.&lt;/P&gt;&lt;P&gt;DATA: p_infty TYPE infty.&lt;/P&gt;&lt;P&gt;DATA: dynnr type dynnr value '2000'.&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;scf&amp;gt;.&lt;/P&gt;&lt;P&gt;TABLES: t588m, pme04,t588d.&lt;/P&gt;&lt;P&gt;constants: calc_molga type molga value ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for collection of mandatory fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF mf_tab OCCURS 0,&lt;/P&gt;&lt;P&gt;fnam TYPE d021s-fnam,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;added for distinction of default and T588M&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;group TYPE char4,&lt;/P&gt;&lt;P&gt;END OF mf_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF wa,&lt;/P&gt;&lt;P&gt;         infty TYPE infty,&lt;/P&gt;&lt;P&gt;       END OF wa.&lt;/P&gt;&lt;P&gt;DATA itab LIKE wa OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(12) text-001.&lt;/P&gt;&lt;P&gt;PARAMETER action TYPE t588d-itygr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for field attributes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT infty INTO CORRESPONDING FIELDS OF TABLE itab FROM t588d WHERE itygr = action.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    WRITE : / 'INFOTYPES FOR THIS ACTION TYPE ARE : '.&lt;/P&gt;&lt;P&gt;    SORT itab BY infty.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM itab COMPARING infty.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT itab.&lt;/P&gt;&lt;P&gt;      WRITE : / itab-infty  HOTSPOT COLOR 6 INVERSE ON.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    WRITE /.&lt;/P&gt;&lt;P&gt;    WRITE : / ' CLICK AN INFOTYPE FOR GETTING ITS MANDATORY FIELDS'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WRITE : / 'SORRY,NO INFOTYPE FOR THIS ACTION TYPE'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;  MOVE sy-lisel(6) TO p_infty.&lt;/P&gt;&lt;P&gt;  WRITE: / 'INFOTYPE - '.&lt;/P&gt;&lt;P&gt;  WRITE : p_infty.&lt;/P&gt;&lt;P&gt;  WRITE : /'MANDATORY FIELDS ARE :'.&lt;/P&gt;&lt;P&gt;  WRITE : / .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;build modulpool-name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT d_screen.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'MP' p_infty '00' INTO mpool2.&lt;/P&gt;&lt;P&gt;  CONCATENATE mpool2 '_CE' into mpool.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;maybe, you have to determin the screen-no first&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform determin_scrno CHANGING dynnr.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM t588m WHERE repna = mpool&lt;/P&gt;&lt;P&gt;  AND dynnr = dynnr&lt;/P&gt;&lt;P&gt;  AND varky = calc_molga.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0. "not found -&amp;gt; switch to default MOLGA&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM t588m WHERE repna LIKE mpool&lt;/P&gt;&lt;P&gt;                    AND dynnr = dynnr&lt;/P&gt;&lt;P&gt;                    AND varky = space.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0. "still not there -&amp;gt; fall back to dflt modulpool with MOLGA&lt;/P&gt;&lt;P&gt;       mpool = mpool2.&lt;/P&gt;&lt;P&gt;       SELECT SINGLE * FROM t588m WHERE repna = mpool&lt;/P&gt;&lt;P&gt;                      AND dynnr = dynnr&lt;/P&gt;&lt;P&gt;                      AND varky = calc_molga.&lt;/P&gt;&lt;P&gt;      IF sy-subrc ne 0. "Last try -&amp;gt; dflt modulpool + empty MOLGA&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM t588m WHERE repna LIKE mpool&lt;/P&gt;&lt;P&gt;                        AND dynnr = dynnr&lt;/P&gt;&lt;P&gt;                        AND varky = space.&lt;/P&gt;&lt;P&gt;        IF sy-subrc ne 0. "obviously, there isn't ana entry at all&lt;/P&gt;&lt;P&gt;          clear t588m.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This part really depends on your&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;settings of feature Pnnnn&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;in your case (varkey = MOLGA) we will skip it (l.a.)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF t588m-zykls NE space.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT SINGLE bukrs werks btrtl persg persk&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           FROM pa0001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           INTO pme04 WHERE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           begda LE sy-datum&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           AND endda GE sy-datum&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           AND sprps EQ space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM re549d USING  t588m-zykls  space  back  status.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF NOT back IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SELECT SINGLE * FROM t588m&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WHERE repna = mpool&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND dynnr = '2000'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND varky = back.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF sy-subrc NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR t588m.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;only to ensure that these fields are filled&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF t588m IS INITIAL.&lt;/P&gt;&lt;P&gt;    t588m-repna = mpool.&lt;/P&gt;&lt;P&gt;    t588m-dynnr = dynnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get fieldlist for screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'RS_IMPORT_DYNPRO'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    dylang = sy-langu&lt;/P&gt;&lt;P&gt;    dyname = t588m-repna&lt;/P&gt;&lt;P&gt;    dynumb = t588m-dynnr&lt;/P&gt;&lt;P&gt;    request = ' '&lt;/P&gt;&lt;P&gt;    suppress_checks = ' '&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;  HEADER =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    ftab = ftab&lt;/P&gt;&lt;P&gt;    pltab = pltab&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    button_error = 1&lt;/P&gt;&lt;P&gt;    dylanguage_invalid = 2&lt;/P&gt;&lt;P&gt;    dylanguage_not_inst = 3&lt;/P&gt;&lt;P&gt;    dyname_invalid = 4&lt;/P&gt;&lt;P&gt;    dynproload_not_found = 5&lt;/P&gt;&lt;P&gt;    dynpro_old = 6&lt;/P&gt;&lt;P&gt;    dynumb_invalid = 7&lt;/P&gt;&lt;P&gt;    ftab_invalid = 8&lt;/P&gt;&lt;P&gt;    gen_error = 9&lt;/P&gt;&lt;P&gt;    gen_ok = 10&lt;/P&gt;&lt;P&gt;    header_invalid = 11&lt;/P&gt;&lt;P&gt;    internal_error = 12&lt;/P&gt;&lt;P&gt;    no_dynpro = 13&lt;/P&gt;&lt;P&gt;    no_ftab_row = 14&lt;/P&gt;&lt;P&gt;    no_memory = 15&lt;/P&gt;&lt;P&gt;    no_processlogic = 16&lt;/P&gt;&lt;P&gt;    pltab_invalid = 17&lt;/P&gt;&lt;P&gt;    request_invalid = 18&lt;/P&gt;&lt;P&gt;    OTHERS = 19&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;error handling&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get rid of comments, frames and the like&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DELETE ftab WHERE aglt IS INITIAL.&lt;/P&gt;&lt;P&gt;  LOOP AT ftab INTO wa_ftab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Screen-Grp3 is the key to T588M-DBILD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF wa_ftab-grp3 NE space.&lt;/P&gt;&lt;P&gt;      pos = wa_ftab-grp3 - 1.&lt;/P&gt;&lt;P&gt;      ASSIGN t588m-dbild+pos(1) TO  &amp;lt;scf&amp;gt;.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;mandatory fields are marked '+'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF &amp;lt;scf&amp;gt; EQ '+'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      APPEND wa_ftab-grp3 to mf_tab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      changed to&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MOVE wa_ftab-fnam TO mf_tab-fnam.&lt;/P&gt;&lt;P&gt;        MOVE wa_ftab-grp3 TO mf_tab-group.&lt;/P&gt;&lt;P&gt;        APPEND mf_tab.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;maybe the field is mandatory by default&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL METHOD d_screen-&amp;gt;get_screen_field_attr&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        iv_repid                    = t588m-repna&lt;/P&gt;&lt;P&gt;        iv_dynnr                    = t588m-dynnr&lt;/P&gt;&lt;P&gt;        iv_field                    = wa_ftab-fnam&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        es_screen                   = es_screen&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        exc_insufficient_parameters = 1&lt;/P&gt;&lt;P&gt;        exc_no_attributes           = 2&lt;/P&gt;&lt;P&gt;        OTHERS                      = 3.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;error handling&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF es_screen-required NE space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    append wa_ftab-grp3 to mf_tab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    changed to&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MOVE wa_ftab-fnam TO mf_tab-fnam.&lt;/P&gt;&lt;P&gt;      MOVE 'Dflt' TO mf_tab-group.&lt;/P&gt;&lt;P&gt;      APPEND mf_tab.&lt;/P&gt;&lt;P&gt;    ENDIF.&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;simple output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT mf_tab.&lt;/P&gt;&lt;P&gt;    WRITE: / mf_tab-fnam,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   added&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    mf_tab-group.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; added&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR: mf_tab, mf_tab[].&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; INCLUDE rpumkc00. "without evaluation of feature, it's not necessary&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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  determin_scrno&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;      do some terribly tricky stuff to get to know the screen no&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;lt;--P_DYNNR  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 determin_scrno  changing p_dynnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;do, what ever has to be done here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endform.                    " determin_scrno&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 08 Jan 2008 11:11:22 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-01-08T11:11:22Z</dc:date>
    <item>
      <title>ALV tree column - code help</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-column-code-help/m-p/3274087#M782713</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;Can any suggest me a code for displaying the below program in alv tree column.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;merlin&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  Z_MANFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: d_screen TYPE REF TO cl_dynpro_info.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for field list of screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: ftab TYPE TABLE OF d021s,&lt;/P&gt;&lt;P&gt;wa_ftab TYPE d021s,&lt;/P&gt;&lt;P&gt;pltab TYPE TABLE OF d022s.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;name of modulpool&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: mpool TYPE repid,&lt;/P&gt;&lt;P&gt;      mpool2 type repid.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for screen attributes of field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: es_screen TYPE screen.&lt;/P&gt;&lt;P&gt;DATA: back TYPE t588m-varky.&lt;/P&gt;&lt;P&gt;DATA: status.&lt;/P&gt;&lt;P&gt;DATA: pos TYPE i.&lt;/P&gt;&lt;P&gt;DATA: p_infty TYPE infty.&lt;/P&gt;&lt;P&gt;DATA: dynnr type dynnr value '2000'.&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;scf&amp;gt;.&lt;/P&gt;&lt;P&gt;TABLES: t588m, pme04,t588d.&lt;/P&gt;&lt;P&gt;constants: calc_molga type molga value ' '.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for collection of mandatory fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: BEGIN OF mf_tab OCCURS 0,&lt;/P&gt;&lt;P&gt;fnam TYPE d021s-fnam,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;added for distinction of default and T588M&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;group TYPE char4,&lt;/P&gt;&lt;P&gt;END OF mf_tab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF wa,&lt;/P&gt;&lt;P&gt;         infty TYPE infty,&lt;/P&gt;&lt;P&gt;       END OF wa.&lt;/P&gt;&lt;P&gt;DATA itab LIKE wa OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT 1(12) text-001.&lt;/P&gt;&lt;P&gt;PARAMETER action TYPE t588d-itygr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;for field attributes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT infty INTO CORRESPONDING FIELDS OF TABLE itab FROM t588d WHERE itygr = action.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    WRITE : / 'INFOTYPES FOR THIS ACTION TYPE ARE : '.&lt;/P&gt;&lt;P&gt;    SORT itab BY infty.&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM itab COMPARING infty.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT itab.&lt;/P&gt;&lt;P&gt;      WRITE : / itab-infty  HOTSPOT COLOR 6 INVERSE ON.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    WRITE /.&lt;/P&gt;&lt;P&gt;    WRITE : / ' CLICK AN INFOTYPE FOR GETTING ITS MANDATORY FIELDS'.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WRITE : / 'SORRY,NO INFOTYPE FOR THIS ACTION TYPE'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;  MOVE sy-lisel(6) TO p_infty.&lt;/P&gt;&lt;P&gt;  WRITE: / 'INFOTYPE - '.&lt;/P&gt;&lt;P&gt;  WRITE : p_infty.&lt;/P&gt;&lt;P&gt;  WRITE : /'MANDATORY FIELDS ARE :'.&lt;/P&gt;&lt;P&gt;  WRITE : / .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;build modulpool-name&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE OBJECT d_screen.&lt;/P&gt;&lt;P&gt;  CONCATENATE 'MP' p_infty '00' INTO mpool2.&lt;/P&gt;&lt;P&gt;  CONCATENATE mpool2 '_CE' into mpool.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;maybe, you have to determin the screen-no first&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform determin_scrno CHANGING dynnr.&lt;/P&gt;&lt;P&gt;  SELECT SINGLE * FROM t588m WHERE repna = mpool&lt;/P&gt;&lt;P&gt;  AND dynnr = dynnr&lt;/P&gt;&lt;P&gt;  AND varky = calc_molga.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0. "not found -&amp;gt; switch to default MOLGA&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * FROM t588m WHERE repna LIKE mpool&lt;/P&gt;&lt;P&gt;                    AND dynnr = dynnr&lt;/P&gt;&lt;P&gt;                    AND varky = space.&lt;/P&gt;&lt;P&gt;    IF sy-subrc NE 0. "still not there -&amp;gt; fall back to dflt modulpool with MOLGA&lt;/P&gt;&lt;P&gt;       mpool = mpool2.&lt;/P&gt;&lt;P&gt;       SELECT SINGLE * FROM t588m WHERE repna = mpool&lt;/P&gt;&lt;P&gt;                      AND dynnr = dynnr&lt;/P&gt;&lt;P&gt;                      AND varky = calc_molga.&lt;/P&gt;&lt;P&gt;      IF sy-subrc ne 0. "Last try -&amp;gt; dflt modulpool + empty MOLGA&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM t588m WHERE repna LIKE mpool&lt;/P&gt;&lt;P&gt;                        AND dynnr = dynnr&lt;/P&gt;&lt;P&gt;                        AND varky = space.&lt;/P&gt;&lt;P&gt;        IF sy-subrc ne 0. "obviously, there isn't ana entry at all&lt;/P&gt;&lt;P&gt;          clear t588m.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;This part really depends on your&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;settings of feature Pnnnn&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;in your case (varkey = MOLGA) we will skip it (l.a.)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF t588m-zykls NE space.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT SINGLE bukrs werks btrtl persg persk&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           FROM pa0001&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           INTO pme04 WHERE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           begda LE sy-datum&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           AND endda GE sy-datum&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           AND sprps EQ space.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PERFORM re549d USING  t588m-zykls  space  back  status.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF NOT back IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SELECT SINGLE * FROM t588m&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     WHERE repna = mpool&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND dynnr = '2000'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     AND varky = back.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF sy-subrc NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR t588m.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;only to ensure that these fields are filled&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF t588m IS INITIAL.&lt;/P&gt;&lt;P&gt;    t588m-repna = mpool.&lt;/P&gt;&lt;P&gt;    t588m-dynnr = dynnr.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get fieldlist for screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'RS_IMPORT_DYNPRO'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    dylang = sy-langu&lt;/P&gt;&lt;P&gt;    dyname = t588m-repna&lt;/P&gt;&lt;P&gt;    dynumb = t588m-dynnr&lt;/P&gt;&lt;P&gt;    request = ' '&lt;/P&gt;&lt;P&gt;    suppress_checks = ' '&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;  HEADER =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    ftab = ftab&lt;/P&gt;&lt;P&gt;    pltab = pltab&lt;/P&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;P&gt;    button_error = 1&lt;/P&gt;&lt;P&gt;    dylanguage_invalid = 2&lt;/P&gt;&lt;P&gt;    dylanguage_not_inst = 3&lt;/P&gt;&lt;P&gt;    dyname_invalid = 4&lt;/P&gt;&lt;P&gt;    dynproload_not_found = 5&lt;/P&gt;&lt;P&gt;    dynpro_old = 6&lt;/P&gt;&lt;P&gt;    dynumb_invalid = 7&lt;/P&gt;&lt;P&gt;    ftab_invalid = 8&lt;/P&gt;&lt;P&gt;    gen_error = 9&lt;/P&gt;&lt;P&gt;    gen_ok = 10&lt;/P&gt;&lt;P&gt;    header_invalid = 11&lt;/P&gt;&lt;P&gt;    internal_error = 12&lt;/P&gt;&lt;P&gt;    no_dynpro = 13&lt;/P&gt;&lt;P&gt;    no_ftab_row = 14&lt;/P&gt;&lt;P&gt;    no_memory = 15&lt;/P&gt;&lt;P&gt;    no_processlogic = 16&lt;/P&gt;&lt;P&gt;    pltab_invalid = 17&lt;/P&gt;&lt;P&gt;    request_invalid = 18&lt;/P&gt;&lt;P&gt;    OTHERS = 19&lt;/P&gt;&lt;P&gt;  .&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;error handling&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;get rid of comments, frames and the like&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DELETE ftab WHERE aglt IS INITIAL.&lt;/P&gt;&lt;P&gt;  LOOP AT ftab INTO wa_ftab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Screen-Grp3 is the key to T588M-DBILD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF wa_ftab-grp3 NE space.&lt;/P&gt;&lt;P&gt;      pos = wa_ftab-grp3 - 1.&lt;/P&gt;&lt;P&gt;      ASSIGN t588m-dbild+pos(1) TO  &amp;lt;scf&amp;gt;.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;mandatory fields are marked '+'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      IF &amp;lt;scf&amp;gt; EQ '+'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      APPEND wa_ftab-grp3 to mf_tab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      changed to&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        MOVE wa_ftab-fnam TO mf_tab-fnam.&lt;/P&gt;&lt;P&gt;        MOVE wa_ftab-grp3 TO mf_tab-group.&lt;/P&gt;&lt;P&gt;        APPEND mf_tab.&lt;/P&gt;&lt;P&gt;        CONTINUE.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;maybe the field is mandatory by default&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL METHOD d_screen-&amp;gt;get_screen_field_attr&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        iv_repid                    = t588m-repna&lt;/P&gt;&lt;P&gt;        iv_dynnr                    = t588m-dynnr&lt;/P&gt;&lt;P&gt;        iv_field                    = wa_ftab-fnam&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        es_screen                   = es_screen&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        exc_insufficient_parameters = 1&lt;/P&gt;&lt;P&gt;        exc_no_attributes           = 2&lt;/P&gt;&lt;P&gt;        OTHERS                      = 3.&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;error handling&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF es_screen-required NE space.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    append wa_ftab-grp3 to mf_tab.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    changed to&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MOVE wa_ftab-fnam TO mf_tab-fnam.&lt;/P&gt;&lt;P&gt;      MOVE 'Dflt' TO mf_tab-group.&lt;/P&gt;&lt;P&gt;      APPEND mf_tab.&lt;/P&gt;&lt;P&gt;    ENDIF.&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;simple output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT mf_tab.&lt;/P&gt;&lt;P&gt;    WRITE: / mf_tab-fnam,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   added&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    mf_tab-group.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; added&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CLEAR: mf_tab, mf_tab[].&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; INCLUDE rpumkc00. "without evaluation of feature, it's not necessary&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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  determin_scrno&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;      do some terribly tricky stuff to get to know the screen no&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;lt;--P_DYNNR  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 determin_scrno  changing p_dynnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;do, what ever has to be done here&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;endform.                    " determin_scrno&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 11:11:22 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-column-code-help/m-p/3274087#M782713</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-08T11:11:22Z</dc:date>
    </item>
    <item>
      <title>Re: ALV tree column - code help</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-column-code-help/m-p/3274088#M782714</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have displayed my ALV Tree using OOPS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PFB The code Proceed step by step , Firstly pull all your data in one internal table &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form alv_hierarchy_display .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  try.&lt;/P&gt;&lt;P&gt;      cl_salv_tree=&amp;gt;factory(&lt;/P&gt;&lt;P&gt;        importing&lt;/P&gt;&lt;P&gt;          r_salv_tree =  ob_tree&lt;/P&gt;&lt;P&gt;        changing&lt;/P&gt;&lt;P&gt;          t_table      =  pass ur internal table ).&lt;/P&gt;&lt;P&gt;    catch cx_salv_error.&lt;/P&gt;&lt;P&gt;      message e003.&lt;/P&gt;&lt;P&gt;  endtry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build the Tree structure for display in Hierarchial List.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform supply_data using( pass ur internal table ).&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;include own functions by setting own status&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ob_tree-&amp;gt;set_screen_status(&lt;/P&gt;&lt;P&gt;    pfstatus      =  '100'&lt;/P&gt;&lt;P&gt;    report        =  sy-repid&lt;/P&gt;&lt;P&gt;    set_functions =  ob_tree-&amp;gt;c_functions_all ).&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;set the columns technical&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ob_columns = ob_tree-&amp;gt;get_columns( ).&lt;/P&gt;&lt;P&gt;  ob_columns-&amp;gt;set_optimize( abap_true ).&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Setting the Columns Technical  and Using in ALV Columns&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform set_columns_technical using ob_columns.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;display the table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ob_tree-&amp;gt;display( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " alv_hierarchy_display&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  supply_data&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_IT_FT_LIST  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 supply_data  using    p_it_ft_list type standard table.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SORT p_itab_empdetails by oprtuntdesc deptuntdesc orgunit.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at p_it_ft_list into wa_ft_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    on change of wa_ft_list-oprtunit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform add_optunit_line using  wa_ft_list&lt;/P&gt;&lt;P&gt;                                      ''&lt;/P&gt;&lt;P&gt;                           changing v_optunit_key.&lt;/P&gt;&lt;P&gt;    endon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    on change of wa_ft_list-deptunit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform add_deptunit_line using  wa_ft_list&lt;/P&gt;&lt;P&gt;                                     v_optunit_key&lt;/P&gt;&lt;P&gt;                            changing v_deptunit_key.&lt;/P&gt;&lt;P&gt;    endon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    on change of wa_ft_list-orgeh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      perform add_orgeh_line using    wa_ft_list&lt;/P&gt;&lt;P&gt;                                      v_deptunit_key&lt;/P&gt;&lt;P&gt;                             changing v_orgunit.&lt;/P&gt;&lt;P&gt;    endon.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    perform add_last_line using  wa_ft_list&lt;/P&gt;&lt;P&gt;                                 v_orgunit&lt;/P&gt;&lt;P&gt;                            changing v_last_key.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " supply_data&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_optunit_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_WA_FT_LIST  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_1165   text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_V_OPTUNIT_KEY  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 add_optunit_line  using    p_wa_ft_list type ty_ft_list&lt;/P&gt;&lt;P&gt;                                p_key type lvc_nkey&lt;/P&gt;&lt;P&gt;                        changing p_l_optunit_key type lvc_nkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : wa_ft_list1 type ty_ft_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;working with nodes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ob_nodes = ob_tree-&amp;gt;get_nodes( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving the Emp Details of the Operating Unit Desc to the WorkArea&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  move p_wa_ft_list-oprtunit     to wa_ft_list1-oprtunit.&lt;/P&gt;&lt;P&gt;  move p_wa_ft_list-oprtuntdesc  to wa_ft_list1-oprtuntdesc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  try.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    add a new node&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    set the data for the nes node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ob_node = ob_nodes-&amp;gt;add_node( related_node = p_key&lt;/P&gt;&lt;P&gt;                                    data_row     = wa_ft_list1&lt;/P&gt;&lt;P&gt;                                    relationship =&lt;/P&gt;&lt;P&gt;                                    cl_gui_column_tree=&amp;gt;relat_last_child ).&lt;/P&gt;&lt;P&gt;      ob_node-&amp;gt;set_text( text-018 ).&lt;/P&gt;&lt;P&gt;      p_l_optunit_key = ob_node-&amp;gt;get_key( ).&lt;/P&gt;&lt;P&gt;    catch cx_salv_msg.&lt;/P&gt;&lt;P&gt;      message e003.&lt;/P&gt;&lt;P&gt;  endtry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " add_optunit_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_deptunit_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_WA_FT_LIST  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_V_OPTUNIT_KEY  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_V_DEPTUNIT_KEY  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 add_deptunit_line  using    p_wa_ft_list type ty_ft_list&lt;/P&gt;&lt;P&gt;                                 p_l_orgeh type lvc_nkey&lt;/P&gt;&lt;P&gt;                        changing p_l_deptunit_key type lvc_nkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : wa_ft_list2 type ty_ft_list.&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;working with nodes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ob_nodes = ob_tree-&amp;gt;get_nodes( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving the Emp Details of the Dept Unit Desc to the WorkArea&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  move p_wa_ft_list-deptunit    to wa_ft_list2-deptunit.&lt;/P&gt;&lt;P&gt;  move p_wa_ft_list-deptuntdesc to wa_ft_list2-deptuntdesc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  try.&lt;/P&gt;&lt;P&gt;      ob_node = ob_nodes-&amp;gt;add_node( related_node = p_l_orgeh&lt;/P&gt;&lt;P&gt;                                    data_row     = wa_ft_list2&lt;/P&gt;&lt;P&gt;                                    relationship =&lt;/P&gt;&lt;P&gt;                                    cl_gui_column_tree=&amp;gt;relat_last_child ).&lt;/P&gt;&lt;P&gt;      ob_node-&amp;gt;set_text( text-005 ).&lt;/P&gt;&lt;P&gt;      p_l_deptunit_key = ob_node-&amp;gt;get_key( ).&lt;/P&gt;&lt;P&gt;    catch cx_salv_msg.&lt;/P&gt;&lt;P&gt;      message e003.&lt;/P&gt;&lt;P&gt;  endtry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " add_deptunit_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_orgeh_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_WA_FT_LIST  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_V_DEPTUNIT_KEY  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_V_ORGUNIT  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 add_orgeh_line  using    p_wa_ft_list type ty_ft_list&lt;/P&gt;&lt;P&gt;                              p_key type lvc_nkey&lt;/P&gt;&lt;P&gt;                     changing p_l_orgeh type lvc_nkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  data : wa_ft_list3 type ty_ft_list.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;working with nodes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ob_nodes = ob_tree-&amp;gt;get_nodes( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Moving the Work Area Details to Local WorkArea3&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  move p_wa_ft_list-orgeh     to wa_ft_list3-orgeh.&lt;/P&gt;&lt;P&gt;  move p_wa_ft_list-orgindeptdesc to wa_ft_list3-orgindeptdesc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  try.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    add a new node&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    set the data for the nes node&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ob_node = ob_nodes-&amp;gt;add_node( related_node = p_key&lt;/P&gt;&lt;P&gt;                                    data_row     = wa_ft_list3&lt;/P&gt;&lt;P&gt;                                    relationship =&lt;/P&gt;&lt;P&gt;                                    cl_gui_column_tree=&amp;gt;relat_last_child ).&lt;/P&gt;&lt;P&gt;      ob_node-&amp;gt;set_text( text-004 ).&lt;/P&gt;&lt;P&gt;      p_l_orgeh = ob_node-&amp;gt;get_key( ).&lt;/P&gt;&lt;P&gt;    catch cx_salv_msg.&lt;/P&gt;&lt;P&gt;      message e003.&lt;/P&gt;&lt;P&gt;  endtry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " add_orgeh_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_last_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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_WA_FT_LIST  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_V_ORGUNIT  text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--P_V_LAST_KEY  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 add_last_line  using value(p_wa_ft_list) type  ty_ft_list&lt;/P&gt;&lt;P&gt;                       value(p_l_optunit_key) type lvc_nkey&lt;/P&gt;&lt;P&gt;                       changing p_l_last_key type lvc_nkey.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;working with nodes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ob_nodes = ob_tree-&amp;gt;get_nodes( ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  clear: p_wa_ft_list-orgeh,           " Clearing WorkArea&lt;/P&gt;&lt;P&gt;         p_wa_ft_list-orgindeptdesc,&lt;/P&gt;&lt;P&gt;         p_wa_ft_list-deptuntdesc,&lt;/P&gt;&lt;P&gt;         p_wa_ft_list-oprtuntdesc,&lt;/P&gt;&lt;P&gt;         p_wa_ft_list-deptunit,&lt;/P&gt;&lt;P&gt;         p_wa_ft_list-oprtunit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  try.&lt;/P&gt;&lt;P&gt;      ob_node = ob_nodes-&amp;gt;add_node( related_node = p_l_optunit_key&lt;/P&gt;&lt;P&gt;                                    data_row     = p_wa_ft_list&lt;/P&gt;&lt;P&gt;                                    relationship =&lt;/P&gt;&lt;P&gt;                                    cl_gui_column_tree=&amp;gt;relat_last_child&lt;/P&gt;&lt;P&gt;                                   ).&lt;/P&gt;&lt;P&gt;      p_l_last_key = ob_node-&amp;gt;get_key( ).&lt;/P&gt;&lt;P&gt;  catch cx_salv_msg.&lt;/P&gt;&lt;P&gt;      message e003.&lt;/P&gt;&lt;P&gt;  endtry.&lt;/P&gt;&lt;P&gt;endform.          &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Reward Points if helpful&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hitesh&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 11:21:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-column-code-help/m-p/3274088#M782714</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-01-08T11:21:56Z</dc:date>
    </item>
    <item>
      <title>Re: ALV tree column - code help</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-column-code-help/m-p/3274089#M782715</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;to convert your program into an alv tree take a look to  BCALV_TREE_DEMO program.&lt;/P&gt;&lt;P&gt;In the form create_hierarchy insert the code that you have in the start-of-selection event and then register the event EXPAND_NO_CHILDREN. in the implement this method with the code that you have in the AT Line-Selection EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bye.&lt;/P&gt;&lt;P&gt;Marco&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 08 Jan 2008 11:29:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/alv-tree-column-code-help/m-p/3274089#M782715</guid>
      <dc:creator>mnicolai_77</dc:creator>
      <dc:date>2008-01-08T11:29:53Z</dc:date>
    </item>
  </channel>
</rss>

