Contador de registros en ALV Grid

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Alfredosite
    Senior Member
    • jul
    • 135

    #1

    Contador de registros en ALV Grid

    Hola amigos, como estan tengo una duda si en caso se pueda realizar tengo un ALV Grid al cual le envio una tabla con mis datos a mostrar, lo que necesito es que contabilize los numeros de registros que muestro en un campo del ALV y que este numero sea dinamico es decir que si filtro por un campo la contabilizacion se reordene consecutivamente.

    A la primera salida:
    Nro Nombre Clase
    1 AAAA A1
    2 BBBB A3
    3 CCCC A1
    4 DDDD A2
    5 EEEE A1
    6 FFFF A3
    Total 6

    Por ejemplo.
    Si agrupo por clase deberia salir
    Nro Nombre Clase
    1 AAAA A1
    2 CCCC A1
    3 EEEE A1
    total A3 ->3

    1 DDD A2
    total A2 ->1

    1 BBBB A3
    2 FFFF A3
    total A2 ->2

    Total 6

    Alguna idea? O forma de contar los regitros y actualizarlos al agrupar por algun campo?
    Saludos Cordiales,
    Alfredo Pastor Avendaño
    SAP - Consultant HCM
  • ibecerra

    #2
    hola create un campo mas en la tabla ejemplo cant type i.
    y por defecto colocale 1.
    luego cuando armes tu fieldcat lo colocas de la siguiente manera
    ejemplo:
    * L_FIELDCAT-no_out = 'X'.
    L_FIELDCAT-do_sum = 'X'.

    y luego ordenar

    DATA: WA_SORT TYPE SLIS_SORTINFO_ALV.
    * Agrupamos la Salida del Reporte por Proveedor Ascendentemente
    * y Obtenemos Subtototales
    WA_SORT-SPOS = 1.
    WA_SORT-FIELDNAME = 'CLASE'.
    WA_SORT-TABNAME = 'TI_ALV'.
    WA_SORT-UP = 'X'.
    WA_SORT-SUBTOT = 'X'.
    APPEND WA_SORT TO I_SORT.



    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
    i_callback_program = repname
    i_structure_name = 'TI_ZTFXL'
    is_layout = layout
    it_fieldcat = fieldtab
    i_default = 'X'
    i_save = g_save
    is_variant = g_variant
    it_events = gt_events[]
    * IT_SORT = I_SORT
    i_grid_title = 'Detalle'
    TABLES
    t_outtab = ti_ztfxl
    EXCEPTIONS
    program_error = 1
    OTHERS = 2.

    Comentario

    • DavidXD_XD
      Moderator
      • ago
      • 1255

      #3
      Hola lo que dice IBecerra es correcto , pero funcionaria si el usuario no arregla despues nada, ya que los campos de una columna en un ALV son estructurados, y si deseas cambiar algo lo tendrias que hacer de alguna manera con OBjetos y dentro de ella crear los botones de ordenamiento, ya que al hacer eso tu mismo tendrias que darle un REFRESH y asi tbm poder reordenar la columna de numeros del 1 al n .... ni modo que modifiquemos un standard
      David Carballido Córdova

      Comentario

      • manuel2101
        Junior Member
        • jun
        • 3

        #4
        Hola,

        Necesito meter un contador en un ALV para que el usuario despues de aplicar cualquier tipo de filtro, pueda obtener el nuevo de filas obtenido.

        - Existe algo estandar para ello? (como tiene el Excel)

        - He intentado lo siguiente. He metido con calzador un campo con el valor 1 por defecto para obtener el resultado deseado aplicando la suma del ALV, pero me da el mensaje "No se puede ejecutar la operación deseada para la columna..."

        Gracias, saludos

        Comentario

        Trabajando...