¡Hola a todos!
Espero que podáis ayudarme con esto porque llevo horas buscando por internet y no consigo encontrar una solución a este tema: tengo un ALV TREE creado con objetos, la clase utilizada es CL_GUI_ALV_TREE y lo que necesito es resaltar TODA una columna:
img2.jpg
img_all.zip
El código que estoy usando de prueba es el de el programa estándar: BCALV_TREE_04
He probado a añadir en la subrutina: FORM build_fieldcatalog, lo siguiente (ya que hay gente que dice que le funciona: http://scn.sap.com/thread/1427499)
Pero no funciona en absoluto 
img1.jpg
img_all.zip
También he probado a modificar el layout del item (cuando se crea la jerarquía: FORM create_hierarchy ) añadiendo el siguiente código a las siguientes subrutinas:
Pero sólo se modifica en el último nivel (línea completa):
img3.jpg
img_all.zip
Por favor, si alguien sabe cómo resolver esto que me escriba.
Muchas gracias por adelantado.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
Tras indagar en este tema encontré el programa de SAP ejemplo: "BCALV_TREE_ITEMLAYOUT" y probando he llegado a la siguiente conclusión: las columnas de un alv tree sólo se pueden modificar celda a celda al crear la jerarquía añadiendo la tabla item_layout (indicando el nombre de la columna y uno de los estilos definidos en la clase cl_gui_column_tree) al método add_node. Además sólo se puede hacer esto cuando, para dicha columna, NO se realiza ningún tipo de función matemática automática del ALV Tree (sumatorio, media, máximo, mínimo).
Espero que podáis ayudarme con esto porque llevo horas buscando por internet y no consigo encontrar una solución a este tema: tengo un ALV TREE creado con objetos, la clase utilizada es CL_GUI_ALV_TREE y lo que necesito es resaltar TODA una columna:
img2.jpg
img_all.zip
El código que estoy usando de prueba es el de el programa estándar: BCALV_TREE_04
He probado a añadir en la subrutina: FORM build_fieldcatalog, lo siguiente (ya que hay gente que dice que le funciona: http://scn.sap.com/thread/1427499)
Código:
WHEN 'PRICE'.
ls_fieldcatalog-do_sum = 'X'.
ls_fieldcatalog-h_ftype = 'MAX'.
ls_fieldcatalog-emphasize = 'C610'. " USER INS

img1.jpg
img_all.zip
También he probado a modificar el layout del item (cuando se crea la jerarquía: FORM create_hierarchy ) añadiendo el siguiente código a las siguientes subrutinas:
- FORM add_month
- FORM add_carrid_line
- FORM add_complete_line
Código:
DATA:
l_node_text TYPE lvc_value,
l_layout_node TYPE lvc_s_layn,
lt_layout_item TYPE lvc_t_layi,
ls_layout_item TYPE lvc_s_layi.
* Layout
ls_layout_item-fieldname = 'PRICE'.
ls_layout_item-style = cl_gui_column_tree=>STYLE_EMPHASIZED_NEGATIVE.
APPEND ls_layout_item TO lt_layout_item.
CLEAR: ls_layout_item.
WRITE ps_sflight-fldate TO l_node_text MM/DD/YYYY.
CALL METHOD g_alv_tree->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_layout_item " USER INS
IMPORTING
e_new_node_key = p_node_key.
img3.jpg
img_all.zip
Por favor, si alguien sabe cómo resolver esto que me escriba.
Muchas gracias por adelantado.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
Tras indagar en este tema encontré el programa de SAP ejemplo: "BCALV_TREE_ITEMLAYOUT" y probando he llegado a la siguiente conclusión: las columnas de un alv tree sólo se pueden modificar celda a celda al crear la jerarquía añadiendo la tabla item_layout (indicando el nombre de la columna y uno de los estilos definidos en la clase cl_gui_column_tree) al método add_node. Además sólo se puede hacer esto cuando, para dicha columna, NO se realiza ningún tipo de función matemática automática del ALV Tree (sumatorio, media, máximo, mínimo).
Comentario