Ver Mensaje Individual
  #11  
Viejo 19/10/09, 13:46:16
Yanett Ponce Seares Yanett Ponce Seares is offline
Member
 
Fecha de Ingreso: abr 2009
Mensajes: 61
oka...
Codigo declaro el ALV
*--------------------------------------------------------------------------
* TABLA INTERNA ALV
*--------------------------------------------------------------------------
DATA: t_layout TYPE slis_layout_alv, " FORMATO QUe TIENE EL ALV
t_fieldcat TYPE slis_fieldcat_alv OCCURS 0 WITH HEADER LINE,
t_sort TYPE slis_t_sortinfo_alv, " PERMITE ORDENAR EL ALV
t_list_top_of_page TYPE slis_t_listheader,
t_events TYPE slis_t_event.
types: begin of slis_alv_event,
nombre(30),
form(30),
end of slis_alv_event.
types slis_t_event type slis_alv_event OCCURS 0.

Codigo Ejecuto el ALV

*&---------------------------------------------------------------------*
*& Form EJECUCION_ALV_CAJAS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*

FORM ejecucion_alv_cajas .
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_CAJAS'
i_callback_pf_status_set = 'PF_STATUS_T_ALV_CAJAS'
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.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

ENDFORM. " EJECUCION_ALV_CAJAS


form pf_status_set using rt_extab type slis_t_extab.
set PF-STATUS 'ZSTAT' EXCLUDING rt_extab.
ENDFORM.


form evento_pf_status.
data w_events type slis_alv_event.
CLEAR w_events.

w_events-form = 'pf_status_set'.
w_events-nombre = slis_ev_pf_status_set.

APPEND w_events
TO t_events.
ENDFORM.




Acą esta el manejo del user command que creo que deberia cambiar ya que aca habia definido los botones, no el ZSTAT que es donde los quiero manejar ya que no me alcanza para asignar los botones que necesito .... Ojala me puedas entender ... mira que ya estoy enredada ... gracias


*&---------------------------------------------------------------------*
*& Form user_command_kilos
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->U_UCOMM text
* -->US_SELFIELD text
*----------------------------------------------------------------------*
FORM user_command_cajas USING u_ucomm TYPE syucomm
us_selfield TYPE slis_selfield. "#EC CALLED

CASE u_ucomm.
WHEN 'FC01'.
IF p_conso = ' '.
PERFORM llena_alv_fieldcat_pesos.
PERFORM layout_pesos.
PERFORM sort_pesos.
PERFORM ejec_alv_pesos.
ELSE.
PERFORM llena_alv_fieldcat_consolidado.
PERFORM layout_pesos.
PERFORM sort_pesos_consolidado.
PERFORM ejec_alv_pesos.
ENDIF.
WHEN 'FC02'.
IF p_conso = ' ' . " DETALLE POR CANAL DE VENTAS
PERFORM llena_alv_fieldcat_kilos.
PERFORM layout_kilos.
PERFORM sort_kilos.
PERFORM ejecucion_alv_kilos.
ELSE.
PERFORM llena_alv_fieldcat_kilos_con. " DETALLE CONSOLIDADO
PERFORM layout_kilos_con.
PERFORM sort_kilos_con.
PERFORM ejecucion_alv_kilos_con.
ENDIF.
WHEN 'FC03'.
IF p_conso = ' ' . " DETALLE POR CANAL DE VENTAS
PERFORM llena_alv_fieldcat_unidad.
PERFORM layout_unidad.
PERFORM sort_unidad.
PERFORM ejecucion_alv_unidad.
ELSE.
PERFORM llena_alv_fieldcat_unidad_con.
PERFORM layout_unidad.
PERFORM sort_unidad_con.
PERFORM ejecucion_alv_unidad.
ENDIF.

WHEN 'FC04'.
IF p_conso = ' ' . " DETALLE POR CANAL DE VENTAS
PERFORM llena_alv_fieldcat_margen.
PERFORM layout_margen.
PERFORM sort_margen.
PERFORM ejecucion_alv_margen.
ELSE.
PERFORM llena_alv_fieldcat_margen_con.
PERFORM layout_margen.
PERFORM sort_margen_con.
PERFORM ejecucion_alv_margen.
ENDIF.



ENDCASE.
ENDFORM. "user_command2
Responder Con Cita