Para borrar registros duplicados en una tabla interna se utiliza la sentencia "DELETE ADJACENT DUPLICATES" . Se utiliza casi siempre antes de hacer un for all entries. Se recomienda hacer el filtro por los mismos que se van a acceder (filtrar) luego en el for all entriens, como tambien el sort.
Ejemplo(esta tabla me provino de una función):
SORT ti_fkkcl "Ordeno tabla por campos de acceso
BY opbel
opupw
opupk
opupz.
*Se copia la tabla para no eliminar datos de posible utilizacion luego.
ti_fkkcl_aux[] = ti_fkkcl[].
*Delete duplicates
DELETE ADJACENT DUPLICATES FROM ti_fkkcl_aux
COMPARING opbel "Se elimina por acceso
opupw
opupk
opupz.
*FKKMAZE - Histórico de reclamação - itens do documento
SELECT laufd
laufi
gpart
vkont
mazae
opbel
opupw
opupk
opupz
mahns
xmsto
xinfo
mahnv
FROM fkkmaze
INTO TABLE ti_fkkmaze
FOR ALL ENTRIES IN ti_fkkcl_aux
WHERE opbel EQ ti_fkkcl_aux-opbel
AND opupw EQ ti_fkkcl_aux-opupw
AND opupk EQ ti_fkkcl_aux-opupk
AND opupz EQ ti_fkkcl_aux-opupz
AND xinfo EQ space
AND xmsto EQ space.
Datos personales

- Damian Sierra
- Soy programador/analista. Mis fuertes es el mundo de sap(como abaper), programador php con gran experiencia en el mundo Wordpress y Joomla.
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario