Manejo de ALV

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Yanett Ponce Seares
    Member
    • abr
    • 61

    #1

    Manejo de ALV

    Saben como puedo agregar los porcentajes de los totales y subtotales en un ALV .
    Y lo otro que me esta pasando que dentro del evento 'pf_status_set' no puedo manejar la salida del programa como el &F03 BACK , cuando entro en el ALV y pulso los distintos botones creados y hago un BACK no se devuelve al inicio del programa, se devuelve cuantas veces haya pulsado el botón. Ojala se entienda ... Muchas Gracias por sus ayudas ....
    YPonce
  • hrosas
    Member
    • jun
    • 31

    #2
    lo hiciste copiando del standar
    si manejas aparte el sy-ucom

    CASE SY-UCOMM.
    WHEN 'BACK'.
    CLEAR: SY-UCOMM.
    SET SCREEN 110. "aqui va la pantalla inicial 1000

    WHEN 'EXIT'.
    CLEAR: SY-UCOMM.
    LEAVE PROGRAM.
    WHEN 'CANCEL'.
    CLEAR: SY-UCOMM.
    SET SCREEN 110. "aqui va la pantalla inicial 1000

    Comentario

    • jtristan
      Senior Member
      • oct
      • 240

      #3
      Para los porcentajes has probado a poner el do_sum = 'C'.


      DO_SUM = 'A' "for maximum
      DO_SUM = 'B' " for minimum
      DO_SUM = 'C' " for Average
      DO_SUM = 'X' " for totals

      Un saludo.

      Comentario

      • Yanett Ponce Seares
        Member
        • abr
        • 61

        #4
        Originalmente publicado por jtristan
        Para los porcentajes has probado a poner el do_sum = 'C'.


        DO_SUM = 'A' "for maximum
        DO_SUM = 'B' " for minimum
        DO_SUM = 'C' " for Average
        DO_SUM = 'X' " for totals

        Un saludo.
        Holaa si lo hice con 'C' y no me resulta para los totales y subtotales solo a nivel lineal, existe alguna forma en que pueda asignar los porcentajes a este nivel, lo que si me falto comentar es que el porcentaje se hace a partir de los totales que se acumulan ... vale decir :
        Porcentaje = Total Columna A sobre Total Columna B
        YPonce

        Comentario

        • Yanett Ponce Seares
          Member
          • abr
          • 61

          #5
          Originalmente publicado por hrosas
          lo hiciste copiando del standar
          si manejas aparte el sy-ucom

          CASE SY-UCOMM.
          WHEN 'BACK'.
          CLEAR: SY-UCOMM.
          SET SCREEN 110. "aqui va la pantalla inicial 1000

          WHEN 'EXIT'.
          CLEAR: SY-UCOMM.
          LEAVE PROGRAM.
          WHEN 'CANCEL'.
          CLEAR: SY-UCOMM.
          SET SCREEN 110. "aqui va la pantalla inicial 1000

          Como puedo manejarlo aparte, si lo declaro asì :


          CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
          EXPORTING
          it_sort = t_sort[]
          i_interface_check = 'X'
          i_callback_program = sy-repid
          i_callback_user_command = 'USER_COMMAND'
          i_callback_pf_status_set = 'PF_STATUS_SET'
          i_structure_name = 'TI_ALV'
          i_save = w_save
          is_layout = t_layout
          it_fieldcat = t_fieldcat[]
          i_grid_settings = w_s_grid_settings
          i_default = ' '
          it_events = t_events[]
          * it_event_exit = 'X'
          is_print = w_impresion
          * it_special_groups = 'VTEXT'
          TABLES
          t_outtab = ti_alv
          EXCEPTIONS
          program_error = 1
          OTHERS = 2.


          y lo manejo asi :


          FORM user_command USING u_ucomm TYPE syucomm
          us_selfield TYPE slis_selfield."#EC CALLED

          *BREAK-POINT.
          CASE u_ucomm.

          WHEN '&F03'.
          BREAK-POINT.
          LEAVE TO SCREEN 1000.

          WHEN '&VIPE'.
          IF p_conso = ' ' . " DETALLE POR CANAL DE VENTAS
          PERFORM llena_alv_pesos.
          PERFORM layout_alv.
          PERFORM sort_alv.
          PERFORM ejecucion_alv.
          ELSE.
          PERFORM llena_alv_pesos_con.
          PERFORM layout_alv.
          PERFORM sort_alv_con.
          PERFORM ejecucion_alv.
          ENDIF.
          WHEN '&VICA'.
          IF p_conso = ' ' . " DETALLE POR CANAL DE VENTAS
          PERFORM llena_alv_cajas.
          PERFORM layout_alv.
          PERFORM sort_alv.
          PERFORM ejecucion_alv.
          ELSE.
          PERFORM llena_alv_cajas_con. " DETALLE CONSOLIDADO
          PERFORM layout_alv.
          PERFORM sort_alv_con.
          PERFORM ejecucion_alv.
          ENDIF.
          ENDCASE.
          ENDFORM.
          YPonce

          Comentario

          Trabajando...