Ver Mensaje Individual
  #5  
Viejo 16/08/10, 20:00:41
Garces Garces is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 321
Lo que estás haciendo con ese cambio es duplicar la cantidad de lecturas a tu tabla interna...

No necesitas ni siquiera hacer un READ TABLE, puesto que en el LOOP ... WHERE ya estás validando el hecho de que exista o no la entrada buscada... además, el LOOP ya te devuelve el sy-subrc = 0 si encuentra el registro o el sy-subrc = 4 si no existe, por lo que lo único que necesitarías hacer es agregar tus líneas de código validando el valor sy-subrc justo despues de terminar tu LOOP... Con eso debería ser suficiente sin necesidad de utilizar tu READ TABLE...

Lo que sí te recomendaría es que la table que recorres con el LOOP sea tipo SORTED o mejor aún, de tipo HASHED... Esto acelera el prodceso de búsqueda en el loop...

Algo así...

DATA: it_ekko TYPE HASHED TABLE OF ekko WITH UNIQUE KEY ebeln.

Esto último utilízalo sólo en caso la tabla it_ekko la llenas una única vez con un select y luego ya no le hagas inserts ni la modifiques, pues eso puede terminar en un dump si la tabla es tipo HASHED o si la tabla es tipo SORTED y el registro ingresado no está ordenado.
__________________
Miguel Ángel Garcés Ramírez
Responder Con Cita