Anuncio

Colapsar
No hay anuncio todavía.

Alv a Excel

Colapsar
X
 
  • Filtrar
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes

  • Alv a Excel

    Hola!
    soy nueva en ABAP
    creé un reporte alv y ya trae todas las opciones, tiene un el botón de excel embebido en sap pero cuando el usuario presiona el botón de excel muestra una hoja vacía, mientras que con otros reportes si muestra la información sin problemas.
    Que función es la que me aparezcan los botones?
    eso lo trae REUSE_ALV_GRID_DISPLAY?? con algun parametro?
    o no se que pasa, no es la version de excel porque en el mismo equipo uso el botón con otros reportes y si funciona pero con éste no.

  • #2
    Hola,

    este código ALV está muy completo y puede ayudarte:

    Código:
    * Variables y estructuras para ALV
    TYPE-POOLS: SLIS.
    
    DATA:
      LV_FIELDCAT  TYPE SLIS_T_FIELDCAT_ALV,
      LV_REPID       TYPE SY-REPID,
      T_EVENTS      TYPE SLIS_T_EVENT,              ” Eventos.
      GT_HEADER    TYPE SLIS_T_LISTHEADER,    ” Tabla con el Título y el Logo
      WA_HEADER    TYPE SLIS_LISTHEADER.      ” Work Area con el Título
    
    DATA: BEGIN OF IT_TABLE OCCURS 0,
            VALOR TYPE STRING,
          END OF IT_TABLE.
    
    * Agregar el programa para el callback
      LV_REPID = SY-REPID.
    
     
    
    *&———————————————————————*
    *& Acá en el medio llenamos la tabla interna IT_TABLE
    *& para mostrar en el AVL
    *&———————————————————————*
    
     
    
    *Llamo al ALV
    PERFORM FILL_EVENT USING T_EVENTS.
    PERFORM CARGAR_FIELDCAT TABLES LV_FIELDCAT.
    PERFORM INIT_HEADER.
    
    CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’
      EXPORTING
        I_CALLBACK_PROGRAM          = LV_REPID
        I_CALLBACK_TOP_OF_PAGE   = ‘TOP_OF_PAGE’   ” llama al form
        I_BACKGROUND_ID                 = ‘ALV_BACKGROUND‘  ” imagen de fondo
        IT_FIELDCAT                          = LV_FIELDCAT   
        IT_EVENTS                             = T_EVENTS
      TABLES
        T_OUTTAB                             = IT_TABLE.
    
     
    
    *&———————————————————————*
    *&      Form  cargar_fieldcat
    *&———————————————————————*
    FORM CARGAR_FIELDCAT  TABLES   LV_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    
      DATA: LV_POSICION TYPE I.
      CLEAR LV_FIELDCAT.
    
      REFRESH LV_FIELDCAT.
    
      ADD 1 TO LV_POSICION.
      LV_FIELDCAT-COL_POS   = LV_POSICION.
      LV_FIELDCAT-FIELDNAME = ‘VALOR’.
      LV_FIELDCAT-JUST = ‘C’.
      LV_FIELDCAT-DDICTXT = ‘L’.
      LV_FIELDCAT-TABNAME = ‘IT_TABLE’.
      LV_FIELDCAT-SELTEXT_M = ‘Valor’.
      LV_FIELDCAT-SELTEXT_L = ‘Valor’.
    
      APPEND LV_FIELDCAT.
      CLEAR  LV_FIELDCAT.
    
    ENDFORM. “CATALOG
    
     
    
    *&——————————————————————–*
    *& Form fill_event
    *&——————————————————————–*
    FORM FILL_EVENT USING P_T_EVENTS TYPE SLIS_T_EVENT.
    
      DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
    
    * Toma los eventos
      CALL FUNCTION ‘REUSE_ALV_EVENTS_GET’
        EXPORTING
          I_LIST_TYPE = 0
        IMPORTING
          ET_EVENTS   = P_T_EVENTS.
    
    * Selecciono el evento ‘TOP_OF_PAGE’ y le seteo el FORM a ejecutar
      CLEAR LS_EVENT.
    
      READ TABLE P_T_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
      INTO LS_EVENT.
      IF SY-SUBRC = 0.
        MOVE ‘TOP_OF_PAGE’ TO LS_EVENT-FORM.
        APPEND LS_EVENT TO P_T_EVENTS.
      ENDIF.
    
    ENDFORM. ” FILL_EVENT
    
     
    
    *———————————————————————-*
    *      Carga el título y subtítulo del reporte
    *———————————————————————-*
    FORM INIT_HEADER.
    
      DATA: WA_HEADER TYPE SLIS_LISTHEADER.
    
    * Cargo el Título
      WA_HEADER-TYP = ‘H’.
      WA_HEADER-INFO = ‘Título en Mayúsculas‘.
      APPEND  WA_HEADER TO GT_HEADER.
    
    * Cargo el Subtítulo
      CLEAR WA_HEADER.
      WA_HEADER-TYP = ‘A’.
      WA_HEADER-INFO = ‘Texto para un subtítulo.‘.
      APPEND  WA_HEADER TO GT_HEADER.
    ENDFORM.                    “init_header
    
     
    
    *&——————————————————————–*
    *&      Form  top_of_page
    *&——————————————————————–*
    FORM TOP_OF_PAGE .
    * Pasa a la cabecera el logo
      CALL FUNCTION ‘REUSE_ALV_COMMENTARY_WRITE’
        EXPORTING
          I_LOGO             = ‘ENJOYSAP_LOGO‘  “Logo
          IT_LIST_COMMENTARY = GT_HEADER.
    ENDFORM.                    ” TOP_OF_PAGE

    Comentario

    Trabajando...
    X