MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   No mostrar los registros repetidos en un ALV (foro/showthread.php?t=7484)

melerogalan 05/09/07 07:42:44

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?

darona 05/09/07 14:42:47

Re:
 
¿Los registros repetidos los necesitas?
Si no los necesitas, bórralos antes de mostrar el ALV.

miguel.cogolludo 06/09/07 08:54:05

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

melerogalan 07/09/07 10:39:38

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.

darona 07/09/07 11:41:27

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.

melerogalan 07/09/07 12:37:29

Pero no quiero mostrar ni totales ni subtotales. :confused:

miguelig 07/09/07 15:01:14

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

melerogalan 07/09/07 18:19:41

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.

azua14 10/09/07 13:52:44

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.

melerogalan 10/09/07 17:36:26

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.


Husos Horarios son GMT. La hora en este momento es 04:44:30.

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