How to create tree structure in abap

hi,
   I am mohan. Please send the how to create the tree structure. how to insert the child nodes in  root node. actually our requirement is we have list transaction codes. We are planning to put all transaction codes in tree level.
please tell me how to do the program in tree structure.

Hi Mohan,
Check the following program on ALV tree.
REPORT zalvtree.
CLASS cl_gui_column_tree DEFINITION LOAD.
CLASS cl_gui_cfw DEFINITION LOAD.
DATA: go_grid TYPE REF TO cl_gui_alv_grid.
DATA: ro_grid TYPE REF TO cl_gui_alv_grid.
DATA tree1  TYPE REF TO cl_gui_alv_tree.
DATA mr_toolbar TYPE REF TO cl_gui_toolbar.
DATA : gt_checked TYPE lvc_t_chit,
       gs_checked LIKE LINE OF gt_checked,
       l_part_key TYPE lvc_nkey,
       gt_node TYPE lvc_s_chit-nodekey.
INCLUDE <icon>.
INCLUDE zamit_alv_tree_toolbar_event.
INCLUDE zbcalv_tree_event_receiver.
*DATA: toolbar_event_receiver TYPE REF TO lcl_toolbar_event_receiver.
DATA: gt_sflight      TYPE sflight OCCURS 0,      "Output-Table
      gt_fieldcatalog TYPE lvc_t_fcat, "Fieldcatalog
      ok_code LIKE sy-ucomm.           "OK-Code
START-OF-SELECTION.
END-OF-SELECTION.
  CALL SCREEN 100.
*&      Module  PBO  OUTPUT
      process before output
MODULE pbo OUTPUT.
  SET PF-STATUS 'MAIN100'.
  IF tree1 IS INITIAL.
    PERFORM init_tree.
else.
              CALL METHOD me->refresh_table_display
                EXCEPTIONS
                  PROGRAM_ERROR = 1
                  others        = 2
              IF sy-subrc <> 0.
               MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                          WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
              ENDIF.
  ENDIF.
  CALL METHOD cl_gui_cfw=>flush.
ENDMODULE.                             " PBO  OUTPUT
*&      Module  PAI  INPUT
      process after input
MODULE pai INPUT.
  CASE ok_code.
    WHEN 'EXIT' OR 'BACK' OR 'CANC'.
      PERFORM exit_program.
*mrk
    WHEN 'MOVE'.
      PERFORM check_selection.
    WHEN 'MBAK'.
      PERFORM another_selection.
    WHEN 'ALL'.
      PERFORM select_all.
    WHEN 'CLEAR'.
      PERFORM clear_all.
    WHEN 'DELETE'.
      PERFORM delete_all.
    WHEN 'EXPAND'.
      PERFORM expand_all.
    WHEN 'COLLAPSE'.
      PERFORM collapse_all.
    WHEN OTHERS.
      CALL METHOD cl_gui_cfw=>dispatch.
  ENDCASE.
  CLEAR ok_code.
  CALL METHOD cl_gui_cfw=>flush.
ENDMODULE.                             " PAI  INPUT
*&      Form  build_fieldcatalog
      build fieldcatalog for structure sflight
FORM build_fieldcatalog.
get fieldcatalog
  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
      i_structure_name = 'SFLIGHT'
    CHANGING
      ct_fieldcat      = gt_fieldcatalog.
change fieldcatalog
  DATA: ls_fieldcatalog TYPE lvc_s_fcat.
  LOOP AT gt_fieldcatalog INTO ls_fieldcatalog.
    CASE ls_fieldcatalog-fieldname.
      WHEN 'CARRID' OR 'CONNID' OR 'FLDATE'.
        ls_fieldcatalog-no_out = 'X'.
        ls_fieldcatalog-key    = ''.
      WHEN 'PRICE' OR 'SEATSOCC' OR 'SEATSMAX' OR 'PAYMENTSUM'.
        ls_fieldcatalog-do_sum = 'X'.
    ENDCASE.
    MODIFY gt_fieldcatalog FROM ls_fieldcatalog.
  ENDLOOP.
ENDFORM.                               " build_fieldcatalog
*&      Form  build_hierarchy_header
      build hierarchy-header-information
     -->P_L_HIERARCHY_HEADER  strucxture for hierarchy-header
FORM build_hierarchy_header CHANGING
                               p_hierarchy_header TYPE treev_hhdr.
  p_hierarchy_header-heading = 'Hierarchy Header'.          "#EC NOTEXT
  p_hierarchy_header-tooltip =
                         'This is the Hierarchy Header !'.  "#EC NOTEXT
  p_hierarchy_header-width = 30.
  p_hierarchy_header-width_pix = ''.
ENDFORM.                               " build_hierarchy_header
*&      Form  exit_program
      free object and leave program
FORM exit_program.
  CALL METHOD tree1->free.
  LEAVE PROGRAM.
ENDFORM.                               " exit_program
*&      Form  check_selection
      text
-->  p1        text
<--  p2        text
FORM check_selection .
create container for alv-tree
  DATA: l_tree_container_name(30) TYPE c,
        l_custom_container2 TYPE REF TO cl_gui_custom_container.
  l_tree_container_name = 'TREE2'.
  IF sy-batch IS INITIAL.
    CREATE OBJECT l_custom_container2
      EXPORTING
            container_name = l_tree_container_name
      EXCEPTIONS
            cntl_error                  = 1
            cntl_system_error           = 2
            create_error                = 3
            lifetime_error              = 4
            lifetime_dynpro_dynpro_link = 5.
    IF sy-subrc <> 0.
      MESSAGE x208(00) WITH 'ERROR'.                        "#EC NOTEXT
    ENDIF.
  ENDIF.
  CREATE OBJECT go_grid
    EXPORTING
   I_SHELLSTYLE      = 0
   I_LIFETIME        =
      i_parent          = l_custom_container2
   I_APPL_EVENTS     = space
   I_PARENTDBG       =
   I_APPLOGPARENT    =
   I_GRAPHICSPARENT  =
   I_NAME            =
EXCEPTIONS
   ERROR_CNTL_CREATE = 1
   ERROR_CNTL_INIT   = 2
   ERROR_CNTL_LINK   = 3
   ERROR_DP_CREATE   = 4
   others            = 5
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
  PERFORM load_data_into_grid.
*data: lt_nodes type LVC_T_NKEY,
     ls_nodes like line of lt_nodes,
     ls_checked like line of gt_checked.
*loop at gt_checked into ls_checked.
ls_nodes = ls_checked-nodekey.
append ls_nodes to lt_nodes.
*endloop.
*CALL METHOD tree1->unselect_nodes
EXPORTING
   it_node_key                  = lt_nodes
EXCEPTIONS
   CNTL_SYSTEM_ERROR            = 1
   DP_ERROR                     = 2
   MULTIPLE_NODE_SELECTION_ONLY = 3
   ERROR_IN_NODE_KEY_TABLE      = 4
   FAILED                       = 5
   others                       = 6
*IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
ENDFORM.                    " check_selection
*&      Form  another_selection
      text
-->  p1        text
<--  p2        text
FORM another_selection .
create container for alv-tree
  DATA: l_tree_container_name(30) TYPE c,
        l_custom_container2 TYPE REF TO cl_gui_custom_container.
  l_tree_container_name = 'TREE2'.
  IF sy-batch IS INITIAL.
    CREATE OBJECT l_custom_container2
      EXPORTING
            container_name = l_tree_container_name
      EXCEPTIONS
            cntl_error                  = 1
            cntl_system_error           = 2
            create_error                = 3
            lifetime_error              = 4
            lifetime_dynpro_dynpro_link = 5.
    IF sy-subrc <> 0.
      MESSAGE x208(00) WITH 'ERROR'.                        "#EC NOTEXT
    ENDIF.
  ENDIF.
  CREATE OBJECT ro_grid
    EXPORTING
   I_SHELLSTYLE      = 0
   I_LIFETIME        =
      i_parent          = l_custom_container2
   I_APPL_EVENTS     = space
   I_PARENTDBG       =
   I_APPLOGPARENT    =
   I_GRAPHICSPARENT  =
   I_NAME            =
EXCEPTIONS
   ERROR_CNTL_CREATE = 1
   ERROR_CNTL_INIT   = 2
   ERROR_CNTL_LINK   = 3
   ERROR_DP_CREATE   = 4
   others            = 5
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
  PERFORM load_data_into_grid1.
  DATA: lt_unsel TYPE lvc_t_nkey,
        ls_unsel LIKE LINE OF lt_unsel.
  LOOP AT gt_checked INTO gs_checked.
    ls_unsel = gs_checked-nodekey.
    APPEND ls_unsel TO lt_unsel.
  ENDLOOP.
  CALL METHOD tree1->unselect_nodes
    EXPORTING
      it_node_key                  = lt_unsel
    EXCEPTIONS
      cntl_system_error            = 1
      dp_error                     = 2
      multiple_node_selection_only = 3
      error_in_node_key_table      = 4
      failed                       = 5
      OTHERS                       = 6.
  IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
*CALL METHOD tree1->unselect_all
EXCEPTIONS
   CNTL_SYSTEM_ERROR = 1
   FAILED            = 2
   others            = 3
*IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
  DATA: text TYPE lvc_value,
   item TYPE lvc_t_layi,
   node TYPE lvc_s_layn,
   inode TYPE lvc_nkey.
  FIELD-SYMBOLS: <wa> TYPE ANY.
  DATA: l_dref_wa LIKE LINE OF gt_sflight.
  ASSIGN l_dref_wa TO <wa>.
  READ TABLE gt_checked INTO gs_checked WITH KEY nodekey = 3.
  inode = gs_checked-nodekey.
  CALL METHOD tree1->get_outtab_line
    EXPORTING
      i_node_key     = inode
    IMPORTING
      e_outtab_line  = <wa>
      e_node_text    = text
      et_item_layout = item
      es_node_layout = node
    EXCEPTIONS
      node_not_found = 1
      OTHERS         = 2.
  IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
  DATA: lt_layout TYPE lvc_t_laci,
        layout LIKE LINE OF lt_layout.
  layout-chosen = 'X'.
  layout-fieldname = tree1->c_hierarchy_column_name.
ls_item_layout-chosen = 'X'.           "To give default checkbox value checked
  layout-class   = cl_gui_column_tree=>item_class_checkbox.
  layout-editable = 'X'.
LAYOUT-U_CHOSEN = 'X'.
  APPEND layout TO lt_layout.
  CALL METHOD tree1->change_node
    EXPORTING
      i_node_key     = inode
      i_outtab_line  = <wa>
   IS_NODE_LAYOUT =
      it_item_layout =  lt_layout
   I_NODE_TEXT    =
   I_U_NODE_TEXT  =
    EXCEPTIONS
      node_not_found = 1
      OTHERS         = 2
  IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
*CALL METHOD tree1->change_item
EXPORTING
   i_node_key     = inode
   i_fieldname    = gs_checked-FIELDNAME
   i_data         = <wa>
   I_U_DATA       = ''
   IS_ITEM_LAYOUT = layout
EXCEPTIONS
   NODE_NOT_FOUND = 1
   others         = 2
*IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
*loop at lt_unsel into ls_unsel.
*CALL METHOD tree1->update_checked_items
EXPORTING
   i_node_key    = ls_unsel
   i_fieldname   = ''
   i_checked     = ''
EXCEPTIONS
   PROGRAM_ERROR = 1
   others        = 2
*IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*ENDIF.
*endif.
ENDFORM.                    " another_selection
*&      Form  select_all
      text
-->  p1        text
<--  p2        text
FORM select_all .
  CONSTANTS: c_x(1) TYPE c VALUE 'X'.
*********Check box modifications.
  CALL METHOD tree1->delete_all_nodes
    EXCEPTIONS
      failed            = 1
      cntl_system_error = 2
      OTHERS            = 3.
  IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
clear l_part_key.
create hierarchy
  PERFORM create_hierarchy USING c_x.
  CALL METHOD tree1->expand_node
    EXPORTING
      i_node_key          = gt_node
   I_LEVEL_COUNT       = 1
      i_expand_subtree    = 'X'
    EXCEPTIONS
      failed              = 1
      illegal_level_count = 2
      cntl_system_error   = 3
      node_not_found      = 4
      cannot_expand_leaf  = 5
      OTHERS              = 6
  IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
add own functioncodes to the toolbar
perform change_toolbar.
register events
perform register_events.
adjust column_width
call method tree1->COLUMN_OPTIMIZE.
ENDFORM.                    " select_all
*&      Form  clear_all
      text
-->  p1        text
<--  p2        text
FORM clear_all .
  CONSTANTS: c_x(1) TYPE c VALUE space.
*********Check box modifications.
  CALL METHOD tree1->delete_all_nodes
    EXCEPTIONS
      failed            = 1
      cntl_system_error = 2
      OTHERS            = 3.
  IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
create hierarchy
  PERFORM create_hierarchy USING c_x.
  CALL METHOD tree1->expand_node
    EXPORTING
      i_node_key          = gt_node
   I_LEVEL_COUNT       = 1
      i_expand_subtree    = 'X'
    EXCEPTIONS
      failed              = 1
      illegal_level_count = 2
      cntl_system_error   = 3
      node_not_found      = 4
      cannot_expand_leaf  = 5
      OTHERS              = 6
  IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " clear_all
*&      Form  delete_all
      text
-->  p1        text
<--  p2        text
FORM delete_all .
*********Check box modifications.
  CALL METHOD tree1->delete_all_nodes
    EXCEPTIONS
      failed            = 1
      cntl_system_error = 2
      OTHERS            = 3.
  IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " delete_all
*&      Form  expand_all
      text
-->  p1        text
<--  p2        text
FORM expand_all .
  CALL METHOD tree1->expand_node
    EXPORTING
      i_node_key          = gt_node
   I_LEVEL_COUNT       = 1
      i_expand_subtree    = 'X'
    EXCEPTIONS
      failed              = 1
      illegal_level_count = 2
      cntl_system_error   = 3
      node_not_found      = 4
      cannot_expand_leaf  = 5
      OTHERS              = 6
  IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " expand_all
*&      Form  collapse_all
      text
-->  p1        text
<--  p2        text
FORM collapse_all .
  CALL METHOD tree1->collapse_all_nodes
    EXCEPTIONS
      failed            = 1
      cntl_system_error = 2
      OTHERS            = 3.
  IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM.                    " collapse_all
*&      Form  load_data_into_grid
      text
-->  p1        text
<--  p2        text
FORM load_data_into_grid .
  DATA:
  For parameter IS_VARIANT
      l_layout TYPE disvariant,
  gs_layout TYPE lvc_s_layo.
  DATA gi_sflight TYPE TABLE OF zsflight.
Load data into the grid and display them
  l_layout-report = sy-repid.
  gs_layout-grid_title = 'Amits Test Program'.
  gs_layout-sel_mode = 'A'.
  SELECT *
   FROM zsflight
   INTO TABLE gi_sflight.
  CALL METHOD go_grid->set_table_for_first_display
    EXPORTING
      i_structure_name = 'SFLIGHT'
      is_layout        = gs_layout
      is_variant       = l_layout
      i_save           = 'A'
    CHANGING
      it_outtab        = gi_sflight.
ENDFORM.                    " load_data_into_grid
*&      Form  load_data_into_grid
      text
-->  p1        text
<--  p2        text
FORM load_data_into_grid1.
  DATA:
  For parameter IS_VARIANT
      l_layout TYPE disvariant,
  gs_layout TYPE lvc_s_layo.
  DATA gi_sflight TYPE TABLE OF zapempl.
Load data into the grid and display them
  l_layout-report = sy-repid.
  gs_layout-grid_title = 'Rams Test Program'.
  gs_layout-sel_mode = 'A'.
  SELECT *
   FROM zapempl
   INTO TABLE gi_sflight.
  CALL METHOD ro_grid->set_table_for_first_display
    EXPORTING
      i_structure_name = 'ZAPEMPL'
      is_layout        = gs_layout
      is_variant       = l_layout
      i_save           = 'A'
    CHANGING
      it_outtab        = gi_sflight.
ENDFORM.                    " load_data_into_grid1
*&      Form  build_header
      build table for html_header
-->  p1        text
<--  p2        text
FORM build_comment USING
      pt_list_commentary TYPE slis_t_listheader
      p_logo             TYPE sdydo_value.
  DATA: ls_line TYPE slis_listheader.
LIST HEADING LINE: TYPE H
  CLEAR ls_line.
  ls_line-typ  = 'H'.
LS_LINE-KEY:  NOT USED FOR THIS TYPE
  ls_line-info = 'ALV-tree-demo: flight-overview'.          "#EC NOTEXT
  APPEND ls_line TO pt_list_commentary.
STATUS LINE: TYPE S
  CLEAR ls_line.
  ls_line-typ  = 'S'.
  ls_line-key  = 'valid until'.                             "#EC NOTEXT
  ls_line-info = 'January 29 1999'.                         "#EC NOTEXT
  APPEND ls_line TO pt_list_commentary.
  ls_line-key  = 'time'.
  ls_line-info = '2.00 pm'.                                 "#EC NOTEXT
  APPEND ls_line TO pt_list_commentary.
ACTION LINE: TYPE A
  CLEAR ls_line.
  ls_line-typ  = 'A'.
LS_LINE-KEY:  NOT USED FOR THIS TYPE
  ls_line-info = 'actual data'.                             "#EC NOTEXT
  APPEND ls_line TO pt_list_commentary.
  p_logo = 'ENJOYSAP_LOGO'.
ENDFORM.                    "build_comment
*&      Form  create_hierarchy
      text
-->  p1        text
<--  p2        text
FORM create_hierarchy USING p_x.
  DATA: ls_sflight TYPE sflight,
        lt_sflight TYPE sflight OCCURS 0.
get data
  SELECT * FROM sflight INTO TABLE lt_sflight
                        UP TO 200 ROWS .
  SORT lt_sflight BY carrid connid fldate.
add data to tree
  DATA: l_carrid_key TYPE lvc_nkey,
        l_connid_key TYPE lvc_nkey,
        l_last_key TYPE lvc_nkey.
       l_part_key TYPE lvc_nkey
  PERFORM add_carrid_line USING    ls_sflight
                          CHANGING l_part_key.
  gt_node = l_part_key.
  LOOP AT lt_sflight INTO ls_sflight.
    ON CHANGE OF ls_sflight-carrid.
      PERFORM add_carrid_line USING    ls_sflight
                                       l_part_key
                              CHANGING l_carrid_key.
      PERFORM add_connid_line USING    ls_sflight
                                       l_carrid_key
                              CHANGING l_connid_key.
      PERFORM add_complete_line USING  ls_sflight
                                     l_connid_key
                                     p_x
                            CHANGING l_last_key.
      CONTINUE.
    ENDON.
    ON CHANGE OF ls_sflight-connid.
      PERFORM add_connid_line USING    ls_sflight
                                       l_carrid_key
                              CHANGING l_connid_key.
      PERFORM add_complete_line USING  ls_sflight
                                     l_connid_key
                                     p_x
                            CHANGING l_last_key.
      CONTINUE.
    ENDON.
    PERFORM add_complete_line USING  ls_sflight
                                     l_connid_key
                                     p_x
                            CHANGING l_last_key.
  ENDLOOP.
calculate totals
  CALL METHOD tree1->update_calculations.
this method must be called to send the data to the frontend
  CALL METHOD tree1->frontend_update.
ENDFORM.                               " create_hierarchy
*&      Form  add_carrid_line
      add hierarchy-level 1 to tree
     -->P_LS_SFLIGHT  sflight
     -->P_RELEATKEY   relatkey
    <-->p_node_key    new node-key
FORM add_carrid_line USING     ps_sflight TYPE sflight
                               p_relat_key TYPE lvc_nkey
                     CHANGING  p_node_key TYPE lvc_nkey.
  DATA: l_node_text TYPE lvc_value,
        ls_sflight TYPE sflight.
set item-layout
  DATA: lt_item_layout TYPE lvc_t_layi,
        ls_item_layout TYPE lvc_s_layi.
  ls_item_layout-t_image = '@3P@'.
  ls_item_layout-fieldname = tree1->c_hierarchy_column_name.
  ls_item_layout-style   =
                        cl_gui_column_tree=>style_intensifd_critical.
  APPEND ls_item_layout TO lt_item_layout.
add node
  l_node_text =  ps_sflight-carrid.
  CALL METHOD tree1->add_node
    EXPORTING
      i_relat_node_key = p_relat_key
      i_relationship   = cl_gui_column_tree=>relat_last_child
      i_node_text      = l_node_text
      is_outtab_line   = ls_sflight
      it_item_layout   = lt_item_layout
    IMPORTING
      e_new_node_key   = p_node_key.
ENDFORM.                               " add_carrid_line
*&      Form  add_connid_line
      add hierarchy-level 2 to tree
     -->P_LS_SFLIGHT  sflight
     -->P_RELEATKEY   relatkey
    <-->p_node_key    new node-key
FORM add_connid_line USING     ps_sflight TYPE sflight
                               p_relat_key TYPE lvc_nkey
                     CHANGING  p_node_key TYPE lvc_nkey.
  DATA: l_node_text TYPE lvc_value,
        ls_sflight TYPE sflight.
set item-layout
  DATA: lt_item_layout TYPE lvc_t_layi,
        ls_item_layout TYPE lvc_s_layi.
  ls_item_layout-t_image = '@3Y@'.
  ls_item_layout-style   =
                        cl_gui_column_tree=>style_intensified.
  ls_item_layout-fieldname = tree1->c_hierarchy_column_name.
  APPEND ls_item_layout TO lt_item_layout.
add node
  l_node_text =  ps_sflight-connid.
  CALL METHOD tree1->add_node
    EXPORTING
      i_relat_node_key = p_relat_key
      i_relationship   = cl_gui_column_tree=>relat_last_child
      i_node_text      = l_node_text
      is_outtab_line   = ls_sflight
      it_item_layout   = lt_item_layout
    IMPORTING
      e_new_node_key   = p_node_key.
ENDFORM.                               " add_connid_line
*&      Form  add_cmplete_line
      add hierarchy-level 3 to tree
     -->P_LS_SFLIGHT  sflight
     -->P_RELEATKEY   relatkey
    <-->p_node_key    new node-key
FORM add_complete_line USING   ps_sflight TYPE sflight
                               p_relat_key TYPE lvc_nkey
                               p_x
                     CHANGING  p_node_key TYPE lvc_nkey.
  DATA: l_node_text TYPE lvc_value.
set item-layout
  DATA: lt_item_layout TYPE lvc_t_layi,
        ls_item_layout TYPE lvc_s_layi.
  ls_item_layout-fieldname = tree1->c_hierarchy_column_name.
  ls_item_layout-chosen = p_x.           "To give default checkbox value checked
  ls_item_layout-class   = cl_gui_column_tree=>item_class_checkbox.
  ls_item_layout-editable = 'X'.
  APPEND ls_item_layout TO lt_item_layout.
  l_node_text =  ps_sflight-fldate.
  CALL METHOD tree1->add_node
    EXPORTING
      i_relat_node_key = p_relat_key
      i_relationship   = cl_gui_column_tree=>relat_last_child
      is_outtab_line   = ps_sflight
      i_node_text      = l_node_text
      it_item_layout   = lt_item_layout
    IMPORTING
      e_new_node_key   = p_node_key.
ENDFORM.                               " add_complete_line
*&      Form  register_events
      text
-->  p1        text
<--  p2        text
FORM register_events.
define the events which will be passed to the backend
  DATA: lt_events TYPE cntl_simple_events,
        l_event TYPE cntl_simple_event.
define the events which will be passed to the backend
  l_event-eventid = cl_gui_column_tree=>eventid_expand_no_children.
  APPEND l_event TO lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_checkbox_change.
  APPEND l_event TO lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_header_context_men_req.
  APPEND l_event TO lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_node_context_menu_req.
  APPEND l_event TO lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_item_context_menu_req.
  APPEND l_event TO lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_header_click.
  APPEND l_event TO lt_events.
  l_event-eventid = cl_gui_column_tree=>eventid_item_keypress.
  APPEND l_event TO lt_events.
  CALL METHOD tree1->set_registered_events
    EXPORTING
      events                    = lt_events
    EXCEPTIONS
      cntl_error                = 1
      cntl_system_error         = 2
      illegal_event_combination = 3.
  IF sy-subrc <> 0.
    MESSAGE x208(00) WITH 'ERROR'.                          "#EC NOTEXT
  ENDIF.
set Handler
  DATA: l_event_receiver TYPE REF TO lcl_tree_event_receiver.
  CREATE OBJECT l_event_receiver.
  SET HANDLER l_event_receiver->handle_node_ctmenu_request
                                                        FOR tree1.
  SET HANDLER l_event_receiver->handle_node_ctmenu_selected
                                                        FOR tree1.
  SET HANDLER l_event_receiver->handle_item_ctmenu_request
                                                        FOR tree1.
  SET HANDLER l_event_receiver->handle_item_ctmenu_selected
                                                        FOR tree1.
  SET HANDLER l_event_receiver->handle_checkbox_change FOR tree1.
ENDFORM.                               " register_events
*&      Form  change_toolbar
      text
-->  p1        text
<--  p2        text
FORM change_toolbar.
DATA: toolbar_event_receiver TYPE REF TO lcl_toolbar_event_receiver.
get toolbar control
  CALL METHOD tree1->get_toolbar_object
    IMPORTING
      er_toolbar = mr_toolbar.
  CHECK NOT mr_toolbar IS INITIAL.
add seperator to toolbar
  CALL METHOD mr_toolbar->add_button
    EXPORTING
      fcode     = ''
      icon      = ''
      butn_type = cntb_btype_sep
      text      = ''
      quickinfo = 'This is a Seperator'.                    "#EC NOTEXT
add Standard Button to toolbar (for Delete Subtree)
  CALL METHOD mr_toolbar->add_button
    EXPORTING
      fcode     = 'DELETE'
      icon      = '@18@'
      butn_type = cntb_btype_button
      text      = ''
      quickinfo = 'Delete subtree'.                         "#EC NOTEXT
add Dropdown Button to toolbar (for Insert Line)
  CALL METHOD mr_toolbar->add_button
    EXPORTING
      fcode     = 'INSERT_LC'
      icon      = '@17@'
      butn_type = cntb_btype_dropdown
      text      = ''
      quickinfo = 'Insert Line'.                            "#EC NOTEXT
set event-handler for toolbar-control
  CREATE OBJECT toolbar_event_receiver.
  SET HANDLER toolbar_event_receiver->on_function_selected
                                                      FOR mr_toolbar.
  SET HANDLER toolbar_event_receiver->on_toolbar_dropdown
                                                      FOR mr_toolbar.
ENDFORM.                               " change_toolbar
*&      Form  init_tree
      text
-->  p1        text
<--  p2        text
FORM init_tree.
create fieldcatalog for structure sflight
  PERFORM build_fieldcatalog.
create container for alv-tree
  DATA: l_tree_container_name(30) TYPE c,
        l_custom_container TYPE REF TO cl_gui_custom_container.
  l_tree_container_name = 'TREE1'.
  IF sy-batch IS INITIAL.
    CREATE OBJECT l_custom_container
      EXPORTING
            container_name = l_tree_container_name
      EXCEPTIONS
            cntl_error                  = 1
            cntl_system_error           = 2
            create_error                = 3
            lifetime_error              = 4
            lifetime_dynpro_dynpro_link = 5.
    IF sy-subrc <> 0.
      MESSAGE x208(00) WITH 'ERROR'.                        "#EC NOTEXT
    ENDIF.
  ENDIF.
create tree control
  CREATE OBJECT tree1
    EXPORTING
        parent              = l_custom_container
        node_selection_mode = cl_gui_column_tree=>node_sel_mode_multiple "node_sel_mode_single
        item_selection      = 'X'
        no_html_header      = ''
        no_toolbar          = ''
    EXCEPTIONS
        cntl_error                   = 1
        cntl_system_error            = 2
        create_error                 = 3
        lifetime_error               = 4
        illegal_node_selection_mode  = 5
        failed                       = 6
        illegal_column_name          = 7.
  IF sy-subrc <> 0.
    MESSAGE x208(00) WITH 'ERROR'.                          "#EC NOTEXT
  ENDIF.
create Hierarchy-header
  DATA l_hierarchy_header TYPE treev_hhdr.
  PERFORM build_hierarchy_header CHANGING l_hierarchy_header.
create info-table for html-header
  DATA: lt_list_commentary TYPE slis_t_listheader,
        l_logo             TYPE sdydo_value.
  PERFORM build_comment USING
                 lt_list_commentary
                 l_logo.
repid for saving variants
  DATA: ls_variant TYPE disvariant.
  ls_variant-report = sy-repid.
create emty tree-control
  CALL METHOD tree1->set_table_for_first_display
    EXPORTING
      is_hierarchy_header = l_hierarchy_header
      it_list_commentary  = lt_list_commentary
      i_logo              = l_logo
      i_background_id     = 'ALV_BACKGROUND'
      i_save              = 'A'
      is_variant          = ls_variant
    CHANGING
      it_outtab           = gt_sflight "table must be emty !!
      it_fieldcatalog     = gt_fieldcatalog.
  CONSTANTS: c_s(1) TYPE c VALUE space.
create hierarchy
  PERFORM create_hierarchy USING c_s.
add own functioncodes to the toolbar
  PERFORM change_toolbar.
register events
  PERFORM register_events.
adjust column_width
call method tree1->COLUMN_OPTIMIZE.
ENDFORM.                    " init_tree
Award points if found useful.
Regards
Indrajit

Similar Messages

  • How to  create Tree Structure for given data?

    Hi,
    I have to create a tree structure of Folders and the contents in the Folder.
    I have a XML, it contains data for the tree structure to display. How can I create a tree structure which would look like below
    Parent
       Child
         Supporting Views
            Raw eInfotree Table Views
            Background Calculations
            QC Data Views
         Calculation Views
         Unit Operation Views
            Cell Culture Views
            Purification Views
            MFR Views
         Personal Views
    All the nodes should have folder Icon.
    Please find the XML as
    <?xml version="1.0" encoding="UTF-8"?><Rowsets DateCreated="2007-05-02T07:37:37" EndDate="2007-05-02T16:59:53" StartDate="2007-05-02T16:59:53" Version="11.5.3"><Rowset><Columns><Column Description="" MaxRange="1" MinRange="0" Name="TK" SQLDataType="4" SourceColumn="TK"/><Column Description="" MaxRange="1" MinRange="0" Name="NAME" SQLDataType="1" SourceColumn="NAME"/><Column Description="" MaxRange="1" MinRange="0" Name="TYPE" SQLDataType="1" SourceColumn="TYPE"/><Column Description="" MaxRange="1" MinRange="0" Name="PK" SQLDataType="4" SourceColumn="PK"/></Columns>
    <Row><TK>1</TK><NAME>Parent</NAME><TYPE>F</TYPE><PK>0</PK></Row>
    <Row><TK>2</TK><NAME>Child</NAME><TYPE>F</TYPE><PK>1</PK></Row>
    <Row><TK>3</TK><NAME>Supporting Views</NAME><TYPE>F</TYPE><PK>2</PK></Row>
    <Row><TK>4</TK><NAME>Raw eInfotree Table Views</NAME><TYPE>F</TYPE><PK>3</PK></Row>
    <Row><TK>5</TK><NAME>Background Calculations</NAME><TYPE>F</TYPE><PK>3</PK></Row>
    <Row><TK>6</TK><NAME>QC Data Views</NAME><TYPE>F</TYPE><PK>3</PK></Row>
    <Row><TK>7</TK><NAME>Calculation Views</NAME><TYPE>F</TYPE><PK>2</PK></Row>
    <Row><TK>8</TK><NAME>Unit Operation Views</NAME><TYPE>F</TYPE><PK>2</PK></Row>
    <Row><TK>9</TK><NAME>Cell Culture Views</NAME><TYPE>F</TYPE><PK>8</PK></Row>
    <Row><TK>10</TK><NAME>Purification Views</NAME><TYPE>F</TYPE><PK>8</PK></Row>
    <Row><TK>11</TK><NAME>MFR Views</NAME><TYPE>F</TYPE><PK>8</PK></Row>
    <Row><TK>12</TK><NAME>Personal Views</NAME><TYPE>F</TYPE><PK>2</PK></Row>
    </Rowset>
    </Rowsets>

    Vishal,
    If you structure your data with two columns, the first being the Node name and the second being the Parent node name (see your information below), the iBrowser applet will make a nice data driven tree with all of the SelectionEvent or navigational capabilities you want.
    <?xml version="1.0" encoding="UTF-8"?>
    <Rowsets DateCreated="2007-05-02T07:37:37" EndDate="2007-05-02T16:59:53" StartDate="2007-05-02T16:59:53" Version="11.5.3">
    <Rowset><Columns><Column Description="" MaxRange="1" MinRange="0" Name="NAME" SQLDataType="1" SourceColumn="NAME"/><Column Description="" MaxRange="1" MinRange="0" Name="PARENT" SQLDataType="1" SourceColumn="PARENT"/></Columns>
    <Row><NAME>Parent</NAME><PARENT></PARENT></Row>
    <Row><NAME>Child</NAME><PARENT>Parent</PARENT></Row>
    <Row><NAME>Supporting Views</NAME><PARENT>Child</PARENT></Row>
    <Row><NAME>Calculation Views</NAME><PARENT>Child</PARENT></Row>
    <Row><NAME>Unit Operation Views</NAME><PARENT>Child</PARENT></Row>
    <Row><NAME>Personal Views</NAME><PARENT>Child</PARENT></Row>
    <Row><NAME>Raw eInfotree Table Views</NAME><PARENT>Supporting Views</PARENT></Row>
    <Row><NAME>Background Calculations</NAME><PARENT>Supporting Views</PARENT></Row>
    <Row><NAME>QC Data Views</NAME><PARENT>Supporting Views</PARENT></Row>
    <Row><NAME>Cell Culture Views</NAME><PARENT>Unit Operation Views</PARENT></Row>
    <Row><NAME>Purification Views</NAME><PARENT>Unit Operation Views</PARENT></Row>
    <Row><NAME>MFR Views</NAME><PARENT>Unit Operation Views</PARENT></Row>
    </Rowset>
    </Rowsets>
    Regards,
    Jeremy

  • How to create Tree structure in Visual Composer

    Hi All,
         I need to develop tree structure in my VC application. Can any one of you please suggest me the steps to do it.Its very urgent please can any one help me out in this.
    Regards,
    Lakshmi

    Hi Nutan,
    if you want to solve it with webdynpro it depends on your skills in java and abap. There are books available to start with webdynpro and there are examples for building tree structures with Webdynpro.
    [Java Webdynpro|http://www.sappress.com/product.cfm?account=&product=H983]
    [ABAP Webdynpro|http://www.sappress.com/product.cfm?account=&product=H1916]
    If you want to do it in VC you have to write e.g. an ABAP rfc function module, which returns you the tree with the information about childnode, parentnode and so on, so that you can display it in the table. But if the users click on sort then the tree is "destroyed". You can also display only a few levels of your tree and when you select a certain node a drill down is done by calling a rfc which returns the child nodes of the corresponding node.
    But I think the solution with VC is not the best. Use webdynpro for this requirements.
    Best Regards,
    Marcel

  • Creating Tree Structure in VC

    Hello,
    Do you know how to create Tree like structure in Visual Composer. Tree should contain XML data coming from Web Service.
    Thanks,
    Prashant

    Hi Prashant,
    we have already a discussion about trees in VC [here|How to create Tree structure in Visual Composer;.
    Best Regards,
    Marcel

  • How to create tree by database table

    hello sir ,
    my table is as follows,
    NAME LINK ID PID ROLLID
    User mgt. f?p=131:1: 1 - 10 ////root node///
    district 10 1 1 child
    Roles 16 14 4 child
    Users 11 10 1 child
    ROLLID is given from another table whis is (ROLES). i making tree by the combinations of id , pid, & roll id. by the roll id i can manage the tree to do not display specific nodes to specific users.
    ROLE table as :
    ROLE_ID NAME DESCRIPTION
    1 Administrator This is administrator
    2 Assistant Director -
    3 Assistant Statistical Officer -
    4 Data Entry Operator -
    but i think it is very complicated process . give me solution about it
    also i have to give my images to each node. how can i do that?

    You already have a thread going about this: Re: how to create tree by database table .
    Scott

  • How to populate Tree structure from BAPI while tree grows or shrinks

    Hi All
    Currently I am populating the tree structure from BAPI based on the HLevel (Hierarchy  Level) parameter, but when ever insertion and deletion happens in the tree at any level in the UI and at the same time i am updating these tree node values with HLevel value(example : 1 is first level , 2 is second level, 3 is third level etc)  updating successfully& correctly  into the BAPI, no issues.
    Once it is updated into the BAPI, next time when i refreshed the UI then i am not populating the tree structure correctly from BAPI with updated new nodes based on the HLevel. when tree struture grows or shrinks in the BAPI after updating into BAPI from UI then i am not populating the tree sturcture correctly based on the HLevel value from the BAPI.
    Please let me know any sample code how to populate tree structure correctly when tree structure grows or shrinks based on the HLevel value ( Hierarchy Level , for example : 1 is level , 2 is 2nd level , 3 is third level nodes etc)
    anybody helps in this regard with sample code on the populating tree tructure then it would be great help to me.
    Thanks in advance
    Regards
    Kalki Reddy
    Edited by: KalkiReddy on Nov 29, 2009 3:48 PM

    Bapi output node:
    Value     | Text     | HLevel
    01     | A     | 1               
    0101     | AA       | 2
    010101     | AAA     | 3
    01010B     | AAB     | 3
    0102     | AB     | 2
    02     | B     | 1
    0201     | BA        | 2
    This code is used to build the tree in wdDoInit method
         IE_T_CatalogueNode catalogueNode = wdContext.nodeE_T_Catalogue();
         int size = catalogueNode.size();
         ICatalogoElement level1elem = null;
         for (int i = 0; i < size; i ++)
              IE_T_CatalogueElement catalogueElem = catalogueNode.getE_T_CatalogueElementAt(i);
              if (catalogueElem.getLevel().equals("1"))
                   // 1 Livello
                   level1elem = wdContext.createCatalogoElement();
                   level1elem.setKATALOGART_CODE(catalogueElem.getKatalogart());
                   level1elem.setCODEGRUPPE_CODE(catalogueElem.getCodegruppe());
                   level1elem.setCODE(catalogueElem.getCode());
                   level1elem.setCODE_DESCR(catalogueElem.getKatalogart_Descr());
                   level1elem.setDESCR(catalogueElem.getKatalogart_Descr());
                   wdContext.nodeCatalogo().addElement(level1elem);
                   for (int j = i + 1; j < size; j ++)
                        IE_T_CatalogueElement catalogueElem2level =
                                                 catalogueNode.getE_T_CatalogueElementAt( j );
                        String level2 = catalogueElem2level.getLevel();
                        if (level2.equals("2"))
                             ICatalogoElement level2elem = level1elem.nodeChild().createCatalogoElement();
                             level2elem.setKATALOGART_CODE(catalogueElem2level.getKatalogart());
                             level2elem.setCODEGRUPPE_CODE(catalogueElem2level.getCodegruppe());
                             level2elem.setCODE(catalogueElem2level.getCode());
                             level2elem.setCODE_DESCR(catalogueElem2level.getCodegruppe_Descr());
                             level2elem.setDESCR(catalogueElem2level.getCodegruppe_Descr());
                             level1elem.nodeChild().addElement(level2elem);
                             for (int k = j + 1; k < size; k ++)
                                  IE_T_CatalogueElement catalogueElem3level =
                                                           catalogueNode.getE_T_CatalogueElementAt( k );
                                  String level3 = catalogueElem3level.getLevel();
                                  if (level3.equals("3"))
                                       ICatalogoElement level3elem = level2elem.nodeChild().createCatalogoElement();
                                       level3elem.setKATALOGART_CODE(catalogueElem3level.getKatalogart());
                                       level3elem.setCODEGRUPPE_CODE(catalogueElem3level.getCodegruppe());
                                       level3elem.setCODE(catalogueElem3level.getCode());
                                       level3elem.setCODE_DESCR(catalogueElem3level.getCode_Descr());
                                       level3elem.setDESCR(catalogueElem3level.getCode_Descr());
                                       level2elem.nodeChild().addElement(level3elem);
    Damiano

  • How to create function module in abap for VirtualProvider in bi

    how to create function module in abap for VirtualProvider in bi ???????????????
    can any one help me with simple example ?????????????????
    Moderator message : Duplicate post locked. Read forum rules before posting.
    Edited by: Vinod Kumar on Jun 15, 2011 4:40 PM

    Hi ,
    Thanks for replies about my question??.
    If i am using the exit in my char relation ship how can i debugg that exit???
    if i am using BPS0 how to do it???If i am using BPS_WB how to do it??
    Case1.Variable (type Exit) I known how to do debugg this one in BPS0 but i'm not sure in BPS_WB??
    Case2:Char Relation Ship(Type Exit) how to do in BPS0 and BPS_WB??.
    Thanks.

  • How to Use Tree Structure in Forms (Expand & Collpse)

    Hi ,
    I need a logic to develop a Custom form which using tree structure fuctionality.It's like same in Indented Bills form (Module Bills of Material).
    I have to use the symbol '+' and '-' in column called item_number ( if it has sub componentes, using that symbol i may explode or collopse).
    I gone through the base form for that(indented Bill form(Form Name:BOMFQBIN, using BOMFMSTR library function to create Tree Structure)
    but i colud not understand the logic.
    If any one clarify me then it's fine
    Thanks,
    Sri

    see this thread
    Re: Forms 60 Heirarchical Tree..Need Help

  • Regarding how to create organization structure in sap workflow

    hi Guru's
    i am new for wokflow i dont no how to create organization structure.
    pl any body help me
    regards
    vijay

    http://help.sap.com/saphelp_erp2005/helpdata/ru/05/dfba3692dc635ce10000009b38f839/frameset.htm

  • "How to create new client in ABAP sneek Preview "

    HI ,
             Can anybody tell me how to create new client in ABAP sneek preview , i had  create  a new client 100 and tried to enter with Cilent 100. User : SAP* , and Password : pass. But i'm unable to log into the sap system.

    Hello,
    perhaps this will help you --> <a href="http://www.sap-img.com/bc049.htm">instructions</a>
    And this quote from another thread:
    <i>in SAPNW2004sSneakPreviewABAP this procedure only works if the system <b>profile parameter login/no_automatic_user_sapstar is set to 0</b> (and the system restarted after that), otherwise you will have a new client without any user thus useless ;-).</i>
    Regards,
    Norman

  • HOW TO CREATE AUTHORISATION OBJECT IN ABAP PLEASE HELP

    HOW TO CREATE AUTHORISATION OBJECT IN ABAP PLEASE HELP

    You can Use Transaction code: RSSM
    Check the following link
    http://www.sap-img.com/bc042.htm
    In SU20 you will have to create a CLass.
    After saving this double click this and you will taken to another screen where you can create Auth Object.
    You can create authorization fields in SU21 or use existing ones.
    You can also do above thru tcode SE80 Edit -> Other Object. In one the tabs you will see Auth. Objects .

  • How to create new structure for SOP?

    How to create new structure for SOP? and transfer data for long term planning?

    hi dear
    For SOP there are two types
    1. Standard SOP : this the standard SOP  configured by SAP consider the Level by Level planning and planning done for product group .
    2. Flexible planning SOP: this option is given, so that Rough planning/SOP planning can be done as per the client requirement.e.g planning structure can be sales orgn., distribution channel, division, plant, material
    For configuring the flexible planning SOP follow steps
    1. Define info structure in IMG
    where u define the characteristic and Key field
    2. Set parameters for info structures and key figures
    Sales & Operations Planning >Master Data>Set parameters for info structures and key figures
    where u define  Planning method
    Consistent planning
    Level-by-level planning
    Delta planning
    and aggregation type
    1. Average calculated
    2. Total created
    3. No aggregation
    3. create Planning type with reference to info structure
    Regards
    Suresh

  • Step by step on how to create organizational structure(plan) for workflow?

    Hi Experts,
    Can anyone send me a step by step process on how to create organizational structure(plan) for workflow?
    Thanks a lot in advance.
    Rgds,
    TM

    Hi,
    You can use the following accessible transactions to process your organizational plan:
    Transaction     Name of Transaction
    PPO5                     Change Attributes
    PPO6                     Display Attributes
    PPOCE                      Create Organization and Staffing
    PPOCW                      Create Organization and Staffing (WF)
    PPOME                     Change Organization and Staffing
    PPOMW                     Change Organization and Staffing (WF)
    PPOSE                      Display Organization and Staffing
    PPOSW                      Display Organization and Staffing (WF)
    PP01                      Maintain Plan Data (Menu)
    PP01_DISP      Display Plan Data (Menu)
    PP03                       Maintain Plan Data (Actions)
    PP03                       Execute Action Directly
    Regards,
    Deepa Kulkarni

  • HOW TO creat  BAR CHART using ABAP Programming

    DEAR ALL,
    I want some help as to how to creat GRAPHICAL display using ABAP programing (BAR CHART) any sample codes Example will be very helpful.
    Regards,
    VJ

    On earlier versions, you can do something like this.
    [code]
    REPORT ZRICH_0005 .
    DATA: BEGIN OF ITAB_DATA OCCURS 0,
               DATANAME(15),
               QUANTITY1 TYPE I,
               QUANTITY2 TYPE I,
               QUANTITY3 TYPE I,
          END OF ITAB_DATA.
    Data: BEGIN OF ITAB_OPTIONS OCCURS 0,
               OPTION(20),
          END OF ITAB_OPTIONS.
    ITAB_DATA-DATANAME = 'Maple'.
    ITAB_DATA-QUANTITY1 = 5500.
    ITAB_DATA-QUANTITY2 = 6200.
    ITAB_DATA-QUANTITY3 = 5900.
    APPEND ITAB_DATA.
    ITAB_DATA-DATANAME = 'Oak'.
    ITAB_DATA-QUANTITY1 = 3500.
    ITAB_DATA-QUANTITY2 = 5200.
    ITAB_DATA-QUANTITY3 = 4400.
    APPEND ITAB_DATA.
    ITAB_DATA-DATANAME = 'Cherry'.
    ITAB_DATA-QUANTITY1 = 1800.
    ITAB_DATA-QUANTITY2 = 2200.
    ITAB_DATA-QUANTITY3 = 1900.
    APPEND ITAB_DATA.
    CALL FUNCTION 'GRAPH_MATRIX_3D'
         EXPORTING
              COL1        = 'Jan'
              COL2        = 'Feb'
              COL3        = 'Mar'
              TITL        = 'Lumber Usage in $'
         TABLES
              DATA        = ITAB_DATA
              OPTS        = ITAB_OPTIONS
         EXCEPTIONS
              OTHERS      = 1.
    [/code]
    Regards,
    Rich Heilman

  • How to handle Tree structure in bdc

    Hi Experts,
          How to handle Tree structure in bdc, can any one have any idea regarding this.
        In the top most of the tree i  have  :  Occupational Health under that Identification is there .
          Occupational Health
                           Identification
    Regards,
    Sudhakar Reddy.A

    Hi Experts,
    Thanks Parvatha reddy for your reply.
    Can any one provide BAPI for this T.Code EHSQCATOH  or can any one tell me how to handle Tree structure .
    Regards,
    Sudhakar Reddy .A

Maybe you are looking for

  • Can't get my purchased music.

    Ok, so I reinstalled windows a while back and when I synced my ipod to the newly downloaded itunes, I chose to sync to this new library, as I hadn't yet replaced all my new music etc, and let it sync. It didn't give me my purchased game though, just

  • What is the part # for my hp laptop g7-2325dx screen?

    what is the part # for my hp laptop g7-2325dx screen?

  • Reg next inspection date

    Dear all, Is there any standard report in SAP which gives the list of all materials which are due for retesting in a period of time like say 1 st of month to 30 th of month regards venkat

  • Mail Not Generated

    Hi , We used to run an interface in Application server 2. But Recently we got Apps 3. ( Basis people have done by taking the instance of Apps2) . When we running the Interface in APPS3 it is not sending the mail. when we are using Apps2 it is sending

  • How can i unlock my iphone 3gs for international ?

    how can i unlock my iphone 3gs for international ? it san emergency im leaving the country now!