Ver Mensaje Individual
  #1  
Viejo 22/08/11, 18:51:09
sirmapu sirmapu is offline
Junior Member
 
Fecha de Ingreso: jul 2011
Mensajes: 6
Se puede hacer subtotales en un alv con minisap?¿

Si se pueden que es lo que me esta faltando?
necesito que me agrupe por carrid y me sume y me saque el subtotal del ultimo del catalo la columna total.



TYPE-POOLS: slis.
data:
layout_alv TYPE slis_layout_alv,
ti_fieldcat_alv TYPE slis_t_fieldcat_alv,
wa_fieldcat_alv TYPE slis_fieldcat_alv,
d_sortcat TYPE slis_t_sortinfo_alv,
d_sortcat_ln LIKE LINE OF d_sortcat,
g_repid LIKE sy-repid.

PERFORM obten_datos.
PERFORM inicializa_layout.
PERFORM arma_fieldcatalog.
PERFORM f_field_sort.
PERFORM muestra_alv.
*---------------------------------------------------------------------*
* FORM inicializa_layout *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM inicializa_layout.
layout_alv-colwidth_optimize = 'X'.
layout_alv-zebra = 'X'.
layout_alv-window_titlebar = 'Reporte en formato ALV'.
*Título de la ventana

ENDFORM.
*---------------------------------------------------------------------*
* FORM arma_fieldcatalog *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM arma_fieldcatalog.


wa_fieldcat_alv-col_pos = '1'.
wa_fieldcat_alv-fieldname = 'CARRID'.
wa_fieldcat_alv-reptext_ddic = 'Numero de cliente'.
* wa_fieldcat_alv-no_out = 'X'.
APPEND wa_fieldcat_alv TO ti_fieldcat_alv.

wa_fieldcat_alv-col_pos = '2'.
wa_fieldcat_alv-fieldname = 'CUSTOMID'.
wa_fieldcat_alv-reptext_ddic = 'Numero de cliente'.
APPEND wa_fieldcat_alv TO ti_fieldcat_alv.

wa_fieldcat_alv-col_pos = '3'.
wa_fieldcat_alv-fieldname = 'NAME'.
wa_fieldcat_alv-reptext_ddic = 'Nombre del cliente'.
APPEND wa_fieldcat_alv TO ti_fieldcat_alv.

wa_fieldcat_alv-col_pos = '4'.
wa_fieldcat_alv-fieldname = 'CITY'.
wa_fieldcat_alv-reptext_ddic = 'CIUDAD'.
APPEND wa_fieldcat_alv TO ti_fieldcat_alv.

wa_fieldcat_alv-col_pos = '5'.
wa_fieldcat_alv-fieldname = 'COUNTRY'.
wa_fieldcat_alv-reptext_ddic = 'Pais'.
APPEND wa_fieldcat_alv TO ti_fieldcat_alv.

wa_fieldcat_alv-col_pos = '6'.
wa_fieldcat_alv-fieldname = 'CUSTTYPE'.
wa_fieldcat_alv-reptext_ddic = 'Tipo de cliente'.
APPEND wa_fieldcat_alv TO ti_fieldcat_alv.

* wa_fieldcat_alv-col_pos = '4'.
* wa_fieldcat_alv-fieldname = 'PLANETYPE'.
* wa_fieldcat_alv-reptext_ddic = 'Tipo de avion'.
* APPEND wa_fieldcat_alv TO ti_fieldcat_alv.
*
* wa_fieldcat_alv-col_pos = '5'.
* wa_fieldcat_alv-fieldname = 'BOOKID'.
* wa_fieldcat_alv-reptext_ddic = 'Libro de vuelo'.
* APPEND wa_fieldcat_alv TO ti_fieldcat_alv.

wa_fieldcat_alv-col_pos = '7'.
wa_fieldcat_alv-fieldname = 'PRICE'.
wa_fieldcat_alv-reptext_ddic = 'Precio'.
wa_fieldcat_alv-sp_group = 'CARRID'.
wa_fieldcat_alv-do_sum = 'X'.
APPEND wa_fieldcat_alv TO ti_fieldcat_alv.

wa_fieldcat_alv-col_pos = '8'.
wa_fieldcat_alv-fieldname = 'CURRENCY'.
wa_fieldcat_alv-reptext_ddic = 'Moneda'.
APPEND wa_fieldcat_alv TO ti_fieldcat_alv.

wa_fieldcat_alv-col_pos = '9'.
wa_fieldcat_alv-fieldname = 'LATITUDE'.
wa_fieldcat_alv-reptext_ddic = 'Latitud'.
wa_fieldcat_alv-no_sign = 'X'.
APPEND wa_fieldcat_alv TO ti_fieldcat_alv.

wa_fieldcat_alv-col_pos = '10'.
wa_fieldcat_alv-fieldname = 'LONGITUDE'.
wa_fieldcat_alv-reptext_ddic = 'Longitud'.
wa_fieldcat_alv-no_sign = 'X'.
APPEND wa_fieldcat_alv TO ti_fieldcat_alv.

wa_fieldcat_alv-col_pos = '11'.
wa_fieldcat_alv-fieldname = 'DESC'.
wa_fieldcat_alv-reptext_ddic = 'Descuento'.
APPEND wa_fieldcat_alv TO ti_fieldcat_alv.

wa_fieldcat_alv-col_pos = '12'.
wa_fieldcat_alv-fieldname = 'TOTAL'.
wa_fieldcat_alv-reptext_ddic = 'Total'.
wa_fieldcat_alv-do_sum = 'X'.
APPEND wa_fieldcat_alv TO ti_fieldcat_alv.


ENDFORM.




*---------------------------------------------------------------------*
* FORM muestra_alv *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM muestra_alv.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
i_background_id = 'ALV_BACKGROUND'
i_callback_user_command = 'USER_COMMAND'
i_callback_top_of_page = 'ARMA_TOPOFPAGE'
is_layout = layout_alv

* “ Variable de Layout
it_fieldcat = ti_fieldcat_alv
it_sort = d_sortcat
i_save = 'A'
*“ Variable de Field Catalog

TABLES
t_outtab = t_vuelos
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.
*&---------------------------------------------------------------------*
*& Form f_field_sort
*&---------------------------------------------------------------------*
FORM f_field_sort.
DATA: ls_sort TYPE slis_sortinfo_alv.
ls_sort-fieldname = 'CUSTOMID'.
ls_sort-spos = 2.
ls_sort-up = 'X'.
ls_sort-subtot = 'X'.
ls_sort-expa = 'X'.

APPEND ls_sort TO d_sortcat.
ENDFORM. " f_field_sort
Responder Con Cita