PDA

Ver la Versión Completa : ALV con doble cabecera


muad'dib
26/02/08, 16:10:55
Buenos días, yo creo que no es posible por que me lo han dicho compañeros en los que confío y porqué nunca lo he visto en ningun listado de SAP, pero me gustaria confirmarlo:
¿ es posible crear un listado ALV (ya sea list, grid o como sea, por objetos o no) con dos líneas de cabecera ?

Ejemplo:

---------------------------------------------------------------------
| CUALIFICACIONES | DATOS PERSONALES |
---------------------------------------------------------------------
| FORMACION | EXPERIENCIA | SEXO | EDAD |
---------------------------------------------------------------------
| ******** | ******** | ******** | ******** |
| ******** | ******** | ******** | ******** |
| ******** | ******** | ******** | ******** |
| ******** | ******** | ******** | ******** |
| ******** | ******** | ******** | ******** |
| ******** | ******** | ******** | ******** |
| ******** | ******** | ******** | ******** |
| ******** | ******** | ******** | ******** |

pirri
26/02/08, 16:15:41
Si no he entendido mal...

Creo que sí, en el layout. En la cabecera puedes indicar hasta tres líneas con sus campos. Si entras ha modificar el layout de cualquier alv existente puedes modificarlo como te digo.

Un saludo.

DavidXD_XD
26/02/08, 16:17:57
Hola, creo q no se puede, pero una solucion q por cierto no es elegante seria utilizar 3 contenedores, 2 para tu cabecera y la otra para tu lista, eso lo puedes usar utilizando la clase cl_gui_splitter_container para poder separar en 3 tu contenedor principal, la idea es alinear los campos x ejem:
con 18 caracteres CUALIFICACIONES y abajo lo repartes, con 10 caracteres FORMACION y con 8 EXPERIENCIA se alinearian y acabarian en la misma linea ... espero sirva de algo :D

muad'dib
26/02/08, 16:28:26
Gracias, otra solución en esta línea de no elegancia sería escribir en el TOP-OF-PAGE.

victoria
26/02/08, 16:35:28
lo que se puede hacer es crear un ALV jerarquico, es decir, se usa cuando tienes una cabecera y un detalle, este ultimo generalmenete con mas de una linera para no tener que repetir la cabecera.

muad'dib
26/02/08, 16:39:01
Ya, gracias, ya lo había pensado, és una opción pero no era esto a lo que me referia. És un post puramente abstracto, no me urge para nada, es simplemente investigar si se puede (tengo un jefecillo listillo aquí al lado que dice que le suena que si... :) )

bacha
26/02/08, 17:37:39
si es posible !

LouieBoy
27/02/08, 08:13:43
Buenas, con objetos diria, casi afrimaria que no se puede, a menos que utilices varios contenedores, pero entonces tienes 2 alv dependientes por los eventos click, el alv de arriba contiene la o las cabeceras y el de abajo las posiciones, en el caso que lo curres si en el de arriba le das doble click lo guapo es q el de abajo quede refrescado con las posiciones correspondientes, tambien lo puedes hacer con un tree para cabecera alv para posiciones.
Un ejemplo lo tienes en la transaccion de entregas VL03N (para no liarla) en la pestaña resumen de status.

Despues de todo el rollo puritano hay una funcion que te lanza el alv con varias cabeceras, yo hace tiempo que he dejado de utilizarlas ya que para mi todo lo que es alv modulo de funcion está obsoleto, si no recuerdo mal se llama REUSE_ALV_HIERSEQ_LIST_DISPLAY, la utilizace solo una vez, era bastante facil, lo unico que olvidate del gird ya questo es un alv classico.

Saludos,

LouieBoy

muad'dib
27/02/08, 09:02:41
Gracias LouieBoy, al final creo que nos vamos a currar un ALV con HTML, lo que nos solventará esto de la doble cabecera pero nos dificultará por ejemplo lo del doble click.

LouieBoy
27/02/08, 09:12:42
hmmmm, no acabo de entenderte, pero entiendo que si tienes dos cabeceras en una misma tabla ya no necesitas el doble click, de todas formas echale un ojo a la transaccion que te he puesto antes, creo que es la mejor opcion, ademas sigues la linea de interfase de sap, la cual cosa es bastante ventajosa para los usuarios :D

Saludos,

LouieBoy

muad'dib
28/02/08, 08:13:03
Y yo no entiendo tu lógica...

LouieBoy
28/02/08, 08:30:27
Si no me explico bien, mirate la transacción que te he comentado antes... Es como funciona el standard.
Pero vamos a ver si me aclaro con un ejemplo: tenemos un documento con su cabecera y posicion y queremos un alv con 2 cabeceras, para que en el mismo alv podamos mezclar cabecera y posicion.
Lo unico que digo, es que si es ese caso, o hacemos un tree, o 2 alvs uno encima de otro, en el de arriba estar la cabecera del documento con sus datos correspondientes y en el segundo tendras las posiciones del documento con los datos correspondientes a la cabecera.
En el caso que en el primer alv tubiera multiples documentos, lo guapo sera que cuando haces doble click sobre uno, cambie el segundo alv con los documentos correspondientes.
Espero haberme explicado mejor.
De todas formas, por lo que he vuelto a leer, tu solo quieres una cabecera extra para que quede bonito, sin ningun tipo de utilidad que no sea saber que ese conunjunto de campos pertenecen a la cabecera que esta pro encima. En ese caso, todo lo que estoy explicando no te sirve absolutamente para nada. Solo se me ocurren chapucillas, ningúna suficientemente valida, si das con algun metodo standard estaria guay q lo comentaras.


Saludos,

LouieBoy