#5
|
|||
|
|||
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|