Centrar texto en la cabecera de un ALV

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • corzo
    Junior Member
    • sep
    • 3

    #1

    Centrar texto en la cabecera de un ALV

    Saludos , estoy imprimiendo un ALV con REUSE_ALV_GRID_DISPLAY el cual contiene una cabecera la cual cree en el evento top_of_page , el problema radica en que necesito que algunas de estas lineas salgan centradas y me salen es alineada a la izquierda, ojala me puedan ayudar con esto
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    Hola, para este evento lo que todo mundo hace es utilizar la funcion REUSE_ALV_COMMENTARY_WRITE y alinea todas las filas de texto a la izquierda a excepcion del logo si es que se carga, si le das una ojeada todos son construidos en base a textos HTML, entonces tendrias que construir tu propio codigo basado en HTML para poder registrar tu texto al centro y para eso activar el parametro del ALV llamado

    Código:
    i_callback_html_top_of_page = 'HTML_TOP_OF_PAGE'
    Por ejemplo ahi deberas crear un FORM con ese nombre y crearlo, si quieres una DEMO de sap puede ser esta DD_ALV_FREE_TOP, estuve averiguando como alinear al centro pero no lo encuentro, pero se puede forzar de esta manera, en la primera parte del FORM encontraras el siguiente codigo:

    Código:
    FORM html_top_of_page USING r_top TYPE REF TO cl_dd_document.
      DATA: text TYPE sdydo_text_element.
      DATA: s_table TYPE REF TO cl_dd_table_element.
      DATA: col_key TYPE REF TO cl_dd_area.
      DATA: col_info TYPE REF TO cl_dd_area.
      DATA: a_logo TYPE REF TO cl_dd_area.
      DATA: logo TYPE sdydo_value.
    
    [COLOR="Blue"]** split TOP-Document[/COLOR]
      CALL METHOD r_top->vertical_split
                                    EXPORTING split_area = r_top
                                              split_width = '50%'
                                    IMPORTING right_area = a_logo.
    [COLOR="blue"]** fill TOP-Document[/COLOR]
      text = 'Example of a Heading'(201).
      call method r_top->add_text exporting text      = text
                                            sap_style = 'HEADING'.
      CALL METHOD r_top->new_line.
      CALL METHOD r_top->new_line.
    Ahora create un Z de la copia del programa y reemplaza esa parte añadiendo esta linea:

    Código:
    FORM html_top_of_page USING r_top TYPE REF TO cl_dd_document.
      DATA: text TYPE sdydo_text_element.
      DATA: s_table TYPE REF TO cl_dd_table_element.
      DATA: col_key TYPE REF TO cl_dd_area.
      DATA: col_info TYPE REF TO cl_dd_area.
      DATA: a_logo TYPE REF TO cl_dd_area.
      DATA: logo TYPE sdydo_value.
    
    [COLOR="blue"]** split TOP-Document[/COLOR]
      CALL METHOD r_top->vertical_split
                                    EXPORTING split_area = r_top
                                              split_width = '50%'
                                    IMPORTING right_area = a_logo.
    [COLOR="blue"]** fill TOP-Document[/COLOR]
      text = 'Example of a Heading'(201).
      [B]CALL METHOD r_top->add_gap  exporting width = 75.[/B]
      call method r_top->add_text exporting text      = text
                                            sap_style = 'HEADING'
                                            sap_fontstyle = 'C'
                                            sap_emphasis = 'C'.
    Espero pueda ayudar un poco

    PD: Aqui hay un post q tbm puede servir https://www.sdn.sap.com/irj/scn/webl...=/pub/wlg/6480
    David Carballido Córdova

    Comentario

    Trabajando...