#1
|
||||
|
||||
No mostrar los registros repetidos en un ALV
Tengo un alv , lo ordeno por unos campos y le digo que me lo agrupe por registros iguales, lo que pasa que cuando pongo un campo editable(fieldcat-edit= marca ) , que no es ninguno de los campos por lo que ordeno, no me los agrupa... ¿alguien puede ayudarme?
|
#2
|
||||
|
||||
Re:
¿Los registros repetidos los necesitas?
Si no los necesitas, bórralos antes de mostrar el ALV. |
#3
|
|||
|
|||
Quizas tambien puedas hacer:
Cuando cargas los datos a la tabla interna en la select pones en los campos que quieras que sean distintos con distinct. Select distinct(campo)... |
#4
|
||||
|
||||
Explicacion mas especifica
Creo que me he explicado mal, no so nregistros enteros los que estan repetidos, solo determinados campos, que no quiero que me salgan repetidos sino que se agrupen en uno solo, se ve una sole vez y debajo un tantos espacios como registros con ese campo repetido alla, el problema que si pongo un campo editable no me lo hace, gracias.
|
#5
|
||||
|
||||
Ahh, pues utilizando las funciones de totales y subtotales de la barra de herramientas del ALV.
Primero totalizas un campo numérico (el que quieras) y luego haces subtotales por los campos en los que quieres que no se repitan los valores. |
#6
|
||||
|
||||
Pero no quiero mostrar ni totales ni subtotales.
|
#7
|
|||
|
|||
hola, lo q tienes q hacer es un sort... si no estas trabjando con objetos tienes q hacer algo asi...
*Ordenamiento de datos y Subtotales DATA: gs_sort TYPE slis_sortinfo_alv. CLEAR gs_sort. gs_sort-fieldname = 'KTEXT'. APPEND gs_sort TO gt_sort. donde KTEXT es tu campo... y si quieres mas columnas solo las agregas.. tienes q mandar gs_sort en tu funcion... lo mismo haces con OO pero con otros tipos... ojala te sirva |
#8
|
||||
|
||||
Eso lo tengo echo ya , lo que pasa que cuando algún campo del listado es editable, pierde la propiedad de agrupar a los campos de aquellos registros que coinciden en dichos campos. Para mas información, ninguno de los campos con los que ordeno el listado ALV es el campo que tiene la propiedad de ser editable.
Gracias a todos por el tiempo, haber si alguno ha echo algo parecido y me cuenta como. |
#9
|
|||
|
|||
ahh..deja ver si entendí...tu tienes por ej:
nombre 1 --> dir1 -> valor1 nombre 1 --> dir1 -> valor2 nombre 1 --> dir1 -> valor3 nombre 2 --> dir2 -> valor1 nombre 2 --> dir2 -> valor2 y quieres nombre 1 --> dir1 -> suma( valor1, valor2, valor3) nombre 2 --> dir2 -> suma( valor1, valor2) si es así, lo que tienes que hacer es: 1) Crearte dos tablas internas donde vas a a guardar los nombres y las direcciones, 2) Cuando vayas llenando la tabla de resultados, le haces un clear a los campos nombre y direccion y en vez de hacer un append, haces un collect... 3)Obviamente debe quedar con los campos llave para saber que nombre y direccion le corresponden. usando estas llaves y las tablas que te creaste llenas los datos faltantes y listo. Ojala haya sido de ayuda. |
#10
|
||||
|
||||
Hola los siento pero no es eso, no quiero mostrar ni totales ni nada parecido, intento exponer el caso con dibujos, es mas simple que todo eso, lo que pasa que sap tiene muchas tonterias, me explico mejor con un ejemplo.
ALV inicial campo1-> campo2-> campo3-> campo4-> campo5 valor1 -> valor2-> valor3-> valor4-> valor5 valor1 -> valor2-> valor3-> valor6-> valor7 valor1 -> valor3-> valor3-> valor8-> valor9 * El valor 1 el 2 y el 3 se repiten en los registros 1, 2 y 3. Mi idea es que el ALV salga asi valor1-> valor2-> valor3-> valor4-> valor5 <vacio>-> <vacio>-> <vacio>-> valor6-> valor7 <vacio>-> <vacio>-> <vacio>-> valor8-> valor9 ¡¡¡ Eso lo se hacer !!! se marca con space el campo cell-merge y se ordena el listado alv por los campos campo1, campo2 y campo3, el resultado es el que muestro y estoy encantado. ¿ Cual es el problema ? que cuando algún campo, en mi caso unos de los campos con lo cuales no ordeno el alv(campo4 o campo5) lo pongo editable( en la estructura fieldcat marco el campo edit con 'X'), no se me pone como yo quiero y el alv vuelve a su forma inicial. Parece muy simple y no es un problema nada rebuscado, pero nadie sabe como hacerlo, sera marcar algún campo de alguna tabla que le pasamos a la función que muestra el ALV(REUSE_ALV_GRID), pero ni idea, he buscado y buscado y ningun campo hace referencia a eso. Espero que ahora este todo claro. Saludos a todos y gracias por vuestro interés, sois gente de puta madre, jejeje. Úlima edición por melerogalan fecha: 10/09/07 a las 18:47:50. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|