ALV Layout

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Sistemas
    Junior Member
    • feb
    • 26

    #1

    ALV Layout

    Muy buenas tardes tengan todos.
    Alguien sabe cual es el equivalente de la propiedad "coltext" q se usa en los ALV declarados con el CALL METHOD ob_grid->set_table_for_first_display ????

    Este es parte de mi codigo pero pretendo q no diga "Valor Neto" a la hora de seleccionar las columnas en mi layout del ALV sino q diga "Galleta".
    gt_fieldcat-fieldname = 'GALLETA'.
    gt_fieldcat-ref_fieldname = 'NETWR'.
    gt_fieldcat-seltext_l = 'Galleta'.
    gt_fieldcat-ddictxt(1) = 'L'.
    gt_fieldcat-ref_tabname = 'VBRK'.
    APPEND gt_fieldcat .
    CLEAR gt_fieldcat.

    les agradezco de antemano la ayuda q me puedan dar.
    Saludos
    Camille
    Camille Manrique
  • Neo_25
    Member
    • jun
    • 51

    #2
    A ver si te puedo ayudar.

    Después de cargar el catálogo:
    CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    .......
    .

    lo recorres:
    * Para recorrer el catálogo
    FIELD-SYMBOLS: <fs_catalogo> TYPE lvc_s_fcat.

    */ ESCRIBIMOS LOS TÍTULOS EN LAS COLUMNAS
    LOOP AT po_catalogo ASSIGNING <fs_catalogo>.
    CASE <fs_catalogo>-fieldname.
    WHEN 'NOMBRE_COLUMNA_1'.
    <fs_catalogo>-coltext = text-001. "texto de la columna
    WHEN 'NOMBRE_COLUMNA_2'.
    <fs_catalogo>-coltext = text-002. "texto de la columna
    ...
    WHEN 'NOMBRE_COLUMNA_X'.
    <fs_catalogo>-coltext = text-00X. "texto de la columna
    ENDCASE.
    ENDLOOP.

    ---------------------
    Lo del COLTEXT lo descubrí hace poco.
    Antes usaba esto otro, pero en el mismo sitio.

    * PARA CADA COLUMNA las 4 filas
    <fs_catalogo>-scrtext_s = text-001. "texto de la columna1
    <fs_catalogo>-scrtext_l = text-001. "texto de la columna1
    <fs_catalogo>-scrtext_m = text-001. "texto de la columna1
    <fs_catalogo>-reptext = text-001. "texto de la columna1


    A mí las dos cosas me funcionan.

    Ya dirás si te funcionó.

    Saludos

    Comentario

    • Sistemas
      Junior Member
      • feb
      • 26

      #3
      Alv Layout

      Muchas pero muchas Gracias Neo,
      Funciono correctamente como me dijisté.
      Solo le agregue las columnas q faltaban:

      gt_fieldcat-fieldname = 'VAR7090'.
      gt_fieldcat-ref_fieldname = 'NETWR'.
      gt_fieldcat-seltext_l = 'Galleta'.
      gt_fieldcat-ddictxt(1) = 'L'.
      gt_fieldcat-ref_tabname = 'VBRK'.
      gt_fieldcat-seltext_s = 'Galleta.
      gt_fieldcat-seltext_m = 'Galleta'.
      gt_fieldcat-reptext_ddic = 'Galleta'.
      APPEND gt_fieldcat .
      CLEAR gt_fieldcat.

      Saludos y de nuevo muchas Gracias!
      pd. Yo usé el REUSE_ALV_GRID_DISPLAY para crear el ALV Grid.
      Camille Manrique

      Comentario

      • Neo_25
        Member
        • jun
        • 51

        #4
        Hola Sistemas,
        me alegro que te sirviera.

        Podrías poner algo de código cuando creas el grid con REUSE_ALV_GRID_DISPLAY.

        Yo el grid lo creo así.
        Código:
        DATA: v_grid                TYPE REF TO cl_gui_alv_grid,
                 v_contenedor_alv TYPE REF TO cl_gui_custom_container.
        
        CREATE OBJECT v_grid 
            EXPORTING
              i_parent          = v_contenedor_alv
            EXCEPTIONS
              error_cntl_create = 1
              error_cntl_init   = 2
              error_cntl_link   = 3
              error_dp_create   = 4
              OTHERS            = 5.
        Y el catálogo así:
        Código:
          DATA: v_catalogo          TYPE lvc_t_fcat.
        
          CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
          EXPORTING
            i_structure_name       = nombre_estructura
            i_bypassing_buffer     = 'X'
          CHANGING
            ct_fieldcat            = v_catalogo
          EXCEPTIONS
            inconsistent_interface = 1
            program_error          = 2
            OTHERS                 = 3.

        Comentario

        • Sistemas
          Junior Member
          • feb
          • 26

          #5
          Código para REUSE ALV_GRID

          Hola Neo,
          Claro que sí, es muy sencillo...mira...
          La funcion REuse_ALV_Grid la declaramos asi:


          Código:
            ls_vari-report   = g_repid.
            ls_vari-username = sy-uname.
          
          *print settings:
            is_print-prnt_info = 'X'.
          
            CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
              EXPORTING
                i_callback_program       = g_repid
                i_callback_pf_status_set = 'PFSTATUS'
                i_grid_title             = titletext
                i_grid_settings          = s_grid_settings
                is_layout                = gs_layout
                it_fieldcat              = gt_fieldcat[]
                i_save                   = 'A'
                is_variant               = ls_vari
                it_events                = gt_events
                is_print                 = is_print
              TABLES
                t_outtab                 = it_info
              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.
          donde:
          *it_info es la tabla q contiene los datos q quiero mostrar.
          *pf_status es el tamaño q quiero q tome el grid, yo casi siempre le pongo STANDARD_FULLSCREEN.

          Como ya notaste en los post de arriba esa es la estructura q uso para declarar las columnas de mi grid. De todas maneras te lo reescribo...

          Código:
           gt_fieldcat-fieldname     = 'GALLETA'.
            gt_fieldcat-ref_fieldname = 'NETWR'.
            gt_fieldcat-seltext_l     = 'Galleta'.
            gt_fieldcat-ddictxt(1)    = 'L'.
            gt_fieldcat-ref_tabname   = 'VBRK'.
            gt_fieldcat-seltext_s     = 'Galleta'.
            gt_fieldcat-seltext_m     = 'Galleta'.
            gt_fieldcat-reptext_ddic = 'Galleta'.
            APPEND gt_fieldcat .
            CLEAR gt_fieldcat.


          Mucha Suerte
          Saludos
          Camille
          Camille Manrique

          Comentario

          Trabajando...