MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #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
  #2  
Viejo 23/08/11, 05:38:03
Carlitros36 Carlitros36 is offline
Member
 
Fecha de Ingreso: ago 2009
Localización: Concepción
Mensajes: 32
Hola

En 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.

Antes del APPEND agregas wa_fieldcat_alv-do_sum = 'X'.

En la ultima columna lo esta haciendo porque tiene esta misma sentencia, al ultimo:
en :

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

Antes de que termine el FORM colocas:

ls_sort-fieldname = 'CARRID'.
ls_sort-spos = 2.
ls_sort-up = 'X'.
ls_sort-subtot = 'X'.
ls_sort-expa = 'X'.

APPEND ls_sort TO d_sortcat.

Espero haberte ayudado igual soy JUNIOR,

Saludos...
Responder Con Cita
  #3  
Viejo 24/08/11, 00:40:18
sirmapu sirmapu is offline
Junior Member
 
Fecha de Ingreso: jul 2011
Mensajes: 6
No amigo

De esa manera no funciona; esto lo tengo que hacer para minisap.
Responder Con Cita
  #4  
Viejo 24/08/11, 16:04:14
Hikari Hikari is offline
Member
 
Fecha de Ingreso: oct 2008
Mensajes: 50
Checa buscando con todos los reportes BCALV* en la SE38, son reportes de ejemplo que implementan ALVs, de ahí alguno te tiene que servir...

Saludos.
Responder Con Cita
  #5  
Viejo 24/08/11, 16:44:44
SAPING SAPING is offline
Senior Member
 
Fecha de Ingreso: may 2010
Localización: Buenos Aires, Argentina
Mensajes: 199
Con cosas de ese estilo debes recorrer las estructuras del fieldcat para ver si te sirven las opciones que tienen ahi...
Entre todas las opciones estan estas:

* wa_fieldcat-do_sum = 'X'. "Se calculará la suma de este campo.

* wa_fieldcat-decimals_out = '0'. "Cantidad de decimales a mostrar.


Sino ojea este form:

FORM seteo_orden .

CLEAR wa_sort.
wa_sort-fieldname = 'CARRID'. "Campo a ordenar
wa_sort-up = 'X'. "Tipo de orden ascendente
wa_sort-spos = 1. "Posición del campo a ordenar
wa_sort-subtot = 'X'. "calcular subtotales con el campo por el que
* se ordena
wa_sort-expa = 'X'. "mostrar el subtotal con la posibilidad de
* expandirlo
*Si queremos el muestre el campo subtot ya expandido, seteamos con SPACE

APPEND wa_sort TO it_sort.

ENDFORM. " seteo_orden
(Y esta estructura la pasas a la funcion obviamente)


Espero te sirva.
Saludos.

Úlima edición por SAPING fecha: 24/08/11 a las 16:47:14.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 09:20:35.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web