Foro de programación ABAP
SAP / ABAP => Programación ABAP => Mensaje iniciado por: r5afondo en 01 de Agosto de 2007, 06:21:21 pm
-
Hola!
Voy a explicar una duda que me ha surgido, a ver si alguien puede echarme una mano.
Tengo una tabla interna de la que quiero eliminar los registros que tengan repetido un conjunto de campos.
Con la instrucción:
DEJETE ADJACENT DUPLICATES FROM <tabla> COMPARING <campos> ; se eliminan duplicados pero conserva un registro.
Necesitaría que en el momento que hubiese duplicados, me borrara todos los registros...
Alguna idea?
Muchas gracias! ;)
-
Hola,
¿Lo has ordenado primero?
SORT <tabla> BY <campo1> <campo2> DESCENDING.
DELETE ADJACENT DUPLICATES FROM <tabla> COMPARING <campo1>.
A modo recordatorio, esta instrucción elimina los registros que hay duplicados, y lo que hace es guardar el primero que encuentra de cada campo que has comparado.
-
Lo que obtengo con el DELETE DUPLICATES es que si, por ejemplo, hay 4 registros duplicados, se borran 3 y conserva uno; pero lo que me interesaría es que se borraran los 4.
He estado haciendo pruebas para hacerlo "a mano" y lo he implementado mediante un LOOP, un DELETE WHERE y tablas auxiliares...y bueno, parece que funciona, pero lo que yo estaba buscando era una solución un poco más "elegante"
Saludos :)