Bueno, eso que ves es lo que se me ocurrió pero posiblemente se puede hacer de una forma mejor.
Explico:
LOOP AT t_PEDIDOS
WHERE bstnk = ''.
DELETE t_pedidos.
ENDLOOP.
Lo que pasa es que en mis datos me aparecían muchos registros en los cuales el campo BSTNK está vacío... lo que hice fué borrarlos, no se si a ti te son útiles. Entonces, lo que hace el código es SELECCIONAR DE LA TABLA INTERNA t_pedidos DONDE bstnk ESTÁ VACÍO Y BORRARLOS.
Como te digo, la forma que se me ocurrió para hacer lo que tu pedías fué, crear otra tabla interna que me ayudara:
t_ped_tmp
En la tabla de ayuda borré duplicados, porque, lo que quiero hacer es, buscar duplicados en la tabla t_pedidos, si tuviera registros duplicados en la tabla auxiliar no podría hacerlo tardaría mucho más...
Entonces, ya al final en t_ped_tmp solo tendré registros que no se repiten...
Entonces hago un recorrido a t_ped_tmp, busco cada registro que tengo (los cuales son unicos, no se repiten) en la tabla t_pedidos. Si lo encuentra una vez veces valdrá 1, si lo encuentra una vez no nos sirve, entonces lo buscamos y lo borramos:
if veces = 1.
LOOP AT t_pedidos
WHERE bstnk = t_ped_tmp-bstnk.
DELETE t_pedidos.
ENDLOOP.
Al final la tabla t_pedidos solo cuenta con registros que se repiten 2 o más veces...
Espero que te haya servido un poco mi explicación...
Yo también soy nuevo en Abap y pues, también mi forma de resolver este tipo de cosas es muy... básica, por eso digo que bien puede solucionarse de una mejor manera...
|