MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Eliminar Duplicados en ITAB (foro/showthread.php?t=2425)

agaraban 08/11/06 19:08:35

Eliminar Duplicados en ITAB
 
Buenas Trades.

Necesito eliminar TODOS los datos duplicados comparando los dos primeros campos de una tabla intena.

ejmp.

1 1 4 5
1 1 6 6
2 2 5 6
3 3 9 9

donde

1 1 4 5
1 1 6 6

deben ser eliminados por que son iguales los campos
1 1
1 1 .


Gracias

oarranzli 09/11/06 05:54:30

Hola agaraban:

Puedes consultar a través de la transacción ABAPHELP la sentencia DELETE ADJACENT DUPLICATES.

Saludos,
Óscar

chamoe 09/11/06 08:55:02

con esta sentencia lo borra solo si es igual(todo el campo), mira a nivel de caracter, te lo vas a tener que montar para que sea o otro campo o hacerlo con deletes,

puedes cojer 2 variables para ir comparando si haces campo(2), te cojera las dos primeras posiciones del campo, comparas y si es igual lo borras, es un poco mas engorroso y costoso, pero con el delete adjacents no lo puedes hacer

cflorimon 17/11/06 17:33:38

Delete adjacent funciona para borrar registros duplicados
 
Saludos.

En uno de mis programas he utilizado el delete adjacent de la siguiente manera:

SORT ITPED
DELETE ADJACENT DUPLICATES FROM ITPED COMPARING EBELN.

En el comparing puedes ponerle los dos primeros campos que dices y ese será el criterio para determinar cuales registros están duplicados o no.

DCErick 18/11/06 03:26:09

Mira amimelo explicaron de la siguiente manera y no me quedó duda jeje..

Veamos Supongamos tu tabla tiene los campos....

Factura material texto
-------- --------- ------
1001 800045 Latas de Pintura
1001 800046 Brochas
1002 899229 Focos
1001 800045 Latas de Pintura

Al hacer DELETE ADJACENT DUPLICATES, no va a pasar nada, puesto que los registros que se repiten "no son adjacentes", es decir...no están ordenados.... Ahora...si hacemos un SORT por Factura y material...

Factura material texto
-------- --------- ------
1001 800045 Latas de Pintura
1001 800045 Latas de Pintura
1001 800046 Brochas
1002 899229 Focos

En este caso, el DELETE ADJACENT DUPLICATES funciona y nos deja como resultado....

Factura material texto
-------- --------- ------
1001 800045 Latas de Pintura
1001 800046 Brochas
1002 899229 Focos

Ahora....que pasa si lo queremos es tener solamente un material por código....

Hacemos lo siguiente....Considerando los campos

Factura material texto
-------- --------- ------
1001 800045 Latas de Pintura
1001 800045 Latas de Pintura
1001 800046 Brochas
1002 899229 Focos

DELETE ADJACENT DUPLICATES FROM T_TABLA COMPARING FACTURA.

Es este caso, se compara solamente la igualdad del campo Factura, lo cual provocaría...

Factura material texto
-------- --------- ------
1001 800045 Latas de Pintura
1002 899229 Focos


Husos Horarios son GMT. La hora en este momento es 09:35:34.

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