Quantcast
Channel: SCN : All Content - All Communities
Viewing all articles
Browse latest Browse all 3280

ALV Tree Fieldname Problems

$
0
0

Hi there,

 

I've built an ALV Tree based on BCALV_TREE_DEMO. I've took some code and modified it for my program. The problem is the field name not shown and the parent not showing any data but the child does, like the picture shown. I wonder what happen?

alv tree.jpg

 

here is some of my code

 

**********************************************************************

**ALV Tree

**********************************************************************

***Declare Fieldcat

define m_fieldcat.

  add 1 to ls_fieldcat-col_pos.

  ls_fieldcat-fieldname   = &1.

  ls_fieldcat-scrtext_m   = &2.

  ls_fieldcat-key         = &3.

  ls_fieldcat-tabname     = 'it_merge2'.

  append ls_fieldcat to gt_fieldcat.

end-of-definition.

 

class cl_gui_column_tree definition load.

class cl_gui_cfw definition load.

 

data tree1 type ref to cl_gui_alv_tree.

 

include <icon>.

*include bcalv_toolbar_event_receiver.

include bcalv_tree_event_receiver.

 

*data: toolbar_event_receiver type ref to lcl_toolbar_event_receiver.

 

data: gt_fieldcat type lvc_t_fcat,         " Field Catalog

      ls_fieldcat type lvc_s_fcat,         " WA Field Cat.

      gt_sort     type lvc_t_sort,         " Sorting Table

      ls_sort     type lvc_s_sort,         " WA Sort Tab.

      ok_code     like sy-ucomm,           " OK-Code

      gd_layout   type slis_layout_alv.    "Layout

 

data: fl_err type c,

      d_posign type c.

 


*&---------------------------------------------------------------------*

*&      Module  STATUS_0555  OUTPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

module status_0555 output.

  set pf-status 'STAT555'.

  if tree1 is initial.

    perform init_tree.

  endif.

  call method cl_gui_cfw=>flush.

endmodule.                 " STATUS_0555  OUTPUT


*&---------------------------------------------------------------------*

*&      Module  USER_COMMAND_0555  INPUT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

module user_command_0555 input.

  clear ok_code.

 

  ok_code = sy-ucomm.

 

  case ok_code.

    when 'BACK' or 'EXIT' or 'CANC'.

      call method tree1->free.

      leave to screen 0.

    when others.

      call method cl_gui_cfw=>dispatch.

  endcase.

  clear ok_code.

endmodule.                 " USER_COMMAND_0555  INPUT


*&---------------------------------------------------------------------*

*&      Form  INIT_TREE

*&---------------------------------------------------------------------*

form init_tree .

  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'.

    endif.

  endif.

 

* create tree control

  create object tree1

    exporting

        parent              = l_custom_container

        node_selection_mode = cl_gui_column_tree=>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'.

  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.

 

  perform build_comment using lt_list_commentary.

 

* repid for saving variants

  data: ls_variant type disvariant.

  ls_variant-report = sy-repid.

 

* create hierarchy

  call method tree1->set_table_for_first_display

    exporting

      it_list_commentary = lt_list_commentary

      i_background_id    = 'ALV_BACKGROUND'

      i_save             = 'A'

      is_variant         = ls_variant

    changing

      it_outtab          = it_merge2

      it_fieldcatalog    = gt_fieldcat.

 

* create hierarchy

  perform create_hierarchy.

 

* register events

  perform register_events.

 

endform.                    " INIT_TREE


*&---------------------------------------------------------------------*

*&      Form  BUILD_FIELDCATALOG

*&---------------------------------------------------------------------*

form build_fieldcatalog .

  m_fieldcat 'VBELN' 'SO No.' 'X'.

  m_fieldcat 'VKBUR' 'S.Off' ''.

  m_fieldcat 'ERDAT' 'Created Date' ''.

  m_fieldcat 'AUART' 'Type' ''.

  m_fieldcat 'AUGRU' 'Order Reason' ''.

  m_fieldcat 'KUNNR' 'Customer' ''.

  m_fieldcat 'NAME1' 'Name' ''.

  m_fieldcat 'ZUONR' 'Reff.Faktur' ''.

  m_fieldcat 'FKDAT' 'Faktur Date' ''.

  m_fieldcat 'MATNR' 'Material' ''.

  m_fieldcat 'MAKTX' 'Description' ''.

  m_fieldcat 'DT_DNR_T' 'Tr.DNR' ''.

  m_fieldcat 'DT_PRC_T' 'Tr.Prin' ''.

  m_fieldcat 'DT_DNR_D' 'Ds.DNR' ''.

  m_fieldcat 'DT_PRC_D' 'Ds.Prin' ''.

  m_fieldcat 'DT_DNR' 'T.DNR' ''.

  m_fieldcat 'DT_PRC' 'T.Princ' ''.

  m_fieldcat 'VT_DNR' 'B.DNR' ''.

  m_fieldcat 'VT_PRC' 'B.Princ' ''.

  m_fieldcat 'VTEXT' 'Prod.Hier' ''.

  m_fieldcat 'KZWI1' 'Value' ''.

  m_fieldcat 'KWMENG' 'Qty' ''.

endform.                    " BUILD_FIELDCATALOG


*&---------------------------------------------------------------------*

*&      Form  BUILD_HIERARCHY_HEADER

*&---------------------------------------------------------------------*

form build_hierarchy_header  changing

                              p_hierarchy_header type treev_hhdr.

  p_hierarchy_header-heading = 'Hierarchy Header'.

  p_hierarchy_header-tooltip = 'This is the Hierarchy Header !'.

  p_hierarchy_header-width = 30.

  p_hierarchy_header-width_pix = ''.

endform.                    " BUILD_HIERARCHY_HEADER


*&---------------------------------------------------------------------*

*&      Form  BUILD_COMMENT

*&---------------------------------------------------------------------*

form build_comment  using pt_list_commentary type slis_t_listheader.

  data: ls_line type slis_listheader.

*

* LIST HEADING LINE: TYPE H

  clear ls_line.

  ls_line-typ  = 'H'.

  ls_line-info = 'Blocked CD-DN Document'.

  append ls_line to pt_list_commentary.

endform.                    " BUILD_COMMENT


*&---------------------------------------------------------------------*

*&      Form  CREATE_HIERARCHY

*&---------------------------------------------------------------------*

form create_hierarchy .

* add data to tree

  data: l_vbeln_key type lvc_nkey,

        l_matnr_key type lvc_nkey,

        l_last_key type lvc_nkey.

  loop at it_merge into wa_merge.

    on change of wa_merge-vbeln.

      perform add_vbeln_line using wa_merge

                                   ''

                          changing l_vbeln_key.

    endon.

 

    perform add_complete_line using  wa_merge

                                     l_vbeln_key

                            changing l_last_key.

  endloop.

 

* this method must be called to send the data to the frontend

  call method tree1->frontend_update.

endform.                    " CREATE_HIERARCHY


*&---------------------------------------------------------------------*

*&      Form  REGISTER_EVENTS

*&---------------------------------------------------------------------*

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.

endform.                    " REGISTER_EVENTS

 

I'dont know what am I missing here, can anyone help me?


Viewing all articles
Browse latest Browse all 3280

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>