Programación General > ABAP

 Alv Y Top_of_page

(1/1)

senzao18:
Estoy haciendo un ALV el caso es que le pongo el evento TOP_OF_PAGE para mostrar unos textos al inicio de la ventana....  El problema esta que cuando uso el REUSE_ALV_LIST_DISPLAY si sale bien el texto... pero cuando uso el
REUSE_ALV_GRID_DISPLAY no me muestra el texto sino un recuadro Gris sin el texto  que yo  mando con la instruccion Write  :huh: ....

Soy nuevo en esto de los ALV tienen alguna idea de por donde va el problema o simplemente no se puede... <_<

Blag:
Yo siempre lo he hecho utilizando el REUSE_ALV_GRID_DISPLAY  B)


--- Código: Text --- DATA: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.DATA: I_EVENTS   TYPE SLIS_T_EVENT. FORM TOP_OF_PAGE.  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'       EXPORTING            IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.ENDFORM. PERFORM F_FORMATO_PAGE CHANGING GT_LIST_TOP_OF_PAGE.PERFORM F_FORMATEAR_EVENTOS_ALV USING I_EVENTS[].PERFORM F_GENERAR_LISTA_ALV. FORM F_FORMATEAR_EVENTOS_ALV USING P_EVENTS TYPE SLIS_T_EVENT.  DATA: L_EVENTS TYPE SLIS_ALV_EVENT.   CLEAR L_EVENTS.  L_EVENTS-NAME = 'TOP_OF_PAGE'.  L_EVENTS-FORM = 'TOP_OF_PAGE'.  APPEND L_EVENTS TO P_EVENTS.ENDFORM. FORM F_FORMATO_PAGE CHANGING GT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.DATA: GS_LINE TYPE SLIS_LISTHEADER. CLEAR GS_LINE.  GS_LINE-TYP  = 'H'.   CONCATENATE SY-DATUM+6(2) '.' SY-DATUM+4(2) '.'              SY-DATUM+0(4) INTO FECHA_PROCESO. *-----Fecha de Proceso  CONCATENATE 'Fecha de Proceso:' FECHA_PROCESO  INTO GS_LINE-INFO  SEPARATED BY SPACE.  APPEND GS_LINE TO GT_TOP_OF_PAGE.ENDFORM. FORM F_GENERAR_LISTA_ALV.  G_PROGRAM = SY-REPID.  G_TITULO = SY-TITLE.   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'       EXPORTING            I_BUFFER_ACTIVE    = ' '            I_CALLBACK_PROGRAM = G_PROGRAM            IS_LAYOUT          = GS_LAYOUT            I_SAVE             = 'A'            I_GRID_TITLE       = G_TITULO            IT_FIELDCAT        = I_FIELDCAT            IT_SORT            = GS_SORT[]            IT_EVENTS          = I_EVENTS       TABLES            T_OUTTAB           = T_SALIDA       EXCEPTIONS            PROGRAM_ERROR      = 1            OTHERS             = 2.   IF SY-SUBRC NE 0.    EXIT.  ENDIF.ENDFORM.  
Disculpa que no esté muy ordenado  :P

Saludos,

Blag  :smartass:

miguelig81:
hola bueno yo utilizo este form
*&---------------------------------------------------------------------*
*&      Form  build_eventtab
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_EVENTS[]  text
*----------------------------------------------------------------------*
FORM build_eventtab  USING   p_events TYPE slis_t_event.

  DATA: ls_event TYPE slis_alv_event.
*  Returns table of possible events for a list type
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type = 0
    IMPORTING
      et_events   = p_events.
*  slis_ev_top_of_page
  READ TABLE p_events WITH KEY name = slis_ev_top_of_page
                           INTO ls_event.
  IF sy-subrc = 0.
    MOVE formname_top_of_page TO ls_event-form.
    APPEND ls_event TO p_events.
  ENDIF.

  READ TABLE p_events WITH KEY name = slis_ev_pf_status_set
                            INTO ls_event.
  IF sy-subrc = 0.
    MOVE formname_pf_status TO ls_event-form.
    APPEND ls_event TO p_events.

  ENDIF.

ENDFORM.                    " build_eventtab

y pones tambien

*---------------------------------------------------------------------*
*       FORM TOP_OF_PAGE                                              *
*---------------------------------------------------------------------*
FORM top_of_page.
  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
    EXPORTING
      it_list_commentary = heading.
ENDFORM.                    "TOP_OF_PAGE

*---------------------------------------------------------------------*
*       FORM pf_status_set
*---------------------------------------------------------------------*
FORM pf_status_set USING                                    "#EC CALLED
                   pu_tab_excl_okcode TYPE slis_t_extab.

  SET PF-STATUS 'ALV_STATUS'.
  SET TITLEBAR 'TITULO1'.


ENDFORM.                    "pf_status_set
*&---------------------------------------------------------------------*
*&      Form  build_comment
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_HEADING[]  text
*----------------------------------------------------------------------*
FORM build_comment  USING    p_heading TYPE slis_t_listheader.

  DATA: hline    TYPE slis_listheader,
        text(60) TYPE c,
        sep(20)  TYPE c,
        proceso TYPE i,
        w_fecha(20)  TYPE c,
        w_hora(10) TYPE c,
        w_usuario(15) TYPE c,
        w_numero TYPE i.

  CONCATENATE sy-datum(4) '.' sy-datum+4(2) '.' sy-datum+6(2)  INTO w_fecha.
  CONCATENATE sy-uzeit(2) ':' sy-uzeit+2(2) ':' sy-uzeit+4(2)  INTO w_hora.


*  Cabecera
  CLEAR hline.
  hline-typ  = 'H'.
  hline-info =  text-ti2.
  APPEND hline TO p_heading.

  CLEAR hline.
  hline-typ  = 'S'.
  hline-key  = text-fec.
  hline-info = w_fecha.
  APPEND hline TO p_heading.

  CLEAR hline.
  hline-typ  = 'S'.
  hline-key  = text-hor.
  hline-info = w_hora.
  APPEND hline TO p_heading.


  CLEAR hline.
  hline-typ  = 'S'.
  hline-key  = text-usu.
  hline-info = sy-uname.
  APPEND hline TO p_heading.

con este codigo armas y muestra en tu alv, el titulo, la hora, la fecha y el usuario.
ojala te ayude  :D

senzao18:
Gracias a los dos... ahorita no tengo chance de probar lo que postearon.. ya ves como son las empresas.... "No es prioridad mostrar el texto" jeje....

Luego les digo como me fue con esto....

Navegación

[0] Índice de Mensajes

Ir a la versión completa