PDA

Ver la Versión Completa : Estilo ALV


Driau
24/10/07, 07:51:02
Alguien sabe como puedeo hacer que por ejemplo una tabla que en el ALV sale asi:

Codigo Poblacion Postal
------------------------------------------------------
100 Madrid 08014
100 Madrid 08080
100 Madrid 08024
110 Barcelona 08025
110 Barcelona 08045

Salga asi por defecto en el ALV:?

Codigo Poblacion Postal
------------------------------------------------------
100 Madrid 08014
Madrid 08080
Madrid 08024
110 Barcelona 08025
Barcelona 08045

Es decir que si el codigo de la siguiente linea es el mismo...no lo ponga hasta que canvie. Supongo que podria pasarle al ALV la tabla ya modificada....pero és un poco chungo moverlo todo. Sera algun evento en el catalogo del ALV o algo asi???

Muchas gracias!

ballan
24/10/07, 08:54:35
Si es un ALV GRID lo mas facil y rapido seria ordenarlo y entonces te fusiona las celdas

miguel.cogolludo
24/10/07, 10:50:53
Puedes utilizar esto.
data: d_sortcat TYPE slis_t_sortinfo_alv,
d_sortcat_ln LIKE LINE OF d_sortcat,
ls_sort TYPE slis_sortinfo_alv.

ls_sort-fieldname = 'BELNR'. 'nombre por el campo que se va a ordenar
ls_sort-spos = 2. 'Creo que es la posicion que ocupa en la columna del alv
' y empieza por 0.
ls_sort-up = 'X'. 'Si la ordenacion es ascendente o descendente
ls_sort-subtot = 'X'. 'Si hay subtotales o no
LS_SORT-EXPA = ' '. " Sirve para que salgan los subtotales no plegados
APPEND ls_sort TO d_sortcat.

y luego en la llamada al alv en un parametro de exporting le pasas d_sortcat
it_sort = D_SORTCAT

Un saludo

FranOchoa
24/10/07, 11:41:10
Puedes probar con un ALV jerarquico. Utilizando 2 tablas una de cabecera y otra detalle unidas por el campo que quieres que solo aparezca cuando cambia de valor (codigo) y automaticamente te agrupara por ese valor.

Un saludo suerte y espero haberte servido de ayuda.

Driau
26/10/07, 10:40:35
He probado el código que me haveis mandado. Con lo del "sortcat". Es justo lo que yo queria. A pesar de que una vez sale el ALV puedes hacerlo ordenándolo...asi queda mucho mejor!!

;-)