Hola amam2605,
Ahora sí me queda más claro. Podríamos entonces hacer sl siguiente cambio al código que te pasé:
* Obtener los datos comerciales de los clientes
SELECT KUNNR VKORG VTWEG SPART
FROM KNVV
INTO TABLE TABLA1
WHERE VKORG EQ '1000'
AND ( VTWEG EQ '10' OR VTWEG EQ '11').
* Encontrar clientes con Sector (SPART) distinto a 67
LOOP TABLA1 INTO R_TABLA1.
IF R_TABLA1-SPART NE '67'.
MOVE R_TABLA1 -KUNNR TO R_TABLA3-KUNNR.
APPEND R_TABLA3 TO TABLA3.
CLEAR R_TABLA3.
ENDIF.
ENDLOOP.
* Eliminar clientes con Sector (SPART) distinto a 67
CLEAR D_INDEX.
LOOP TABLA1 INTO R_TABLA1.
D_INDEX = SY-TABIX.
READ TABLE TABLA3 INTO R_TABLA3 WITH KEY KUNNR = R_TABLA1-KUNNR.
IF SY-SUBRC IS INITIAL.
DELETE TABLA1 INDEX D_INDEX.
ENDIF.
ENDLOOP.
Luego continuaría con el resto del código donde obtiene a partir de la TABLA1 los nombres de los clientes, y por ultimo arma la tabla final a mostrar, ese código no debería sufrir ninguna modificación.
Se podrían ahorrar unos cuantos pasos volcando desde el comienzo todo a una tabla final y sólo ir modificando registros o eliminando pero traté de hacerlo así bien desglosado para que se entienda bien que se está haciendo.
Se puede optimizar muchísimo más sin problemas.
Espero te sea útil.
|