PDA

Ver la Versión Completa : Seleccionar Registros...


DCErick
19/04/06, 16:36:14
Hola tengo una dudita....


SELECT ebeln aedat reswk ekgrp bedat
FROM ekko INTO CORRESPONDING FIELDS OF TABLE t_zekko
WHERE aedat < sy-datum AND bsakz EQ 'T' AND bstyp EQ 'F' AND statu EQ '9' AND ebeln BETWEEN 430000000 AND 4399999999.


Yo uso la instruccion anterior para obtener los traslados de mercancia....Pero ahora me encuentro de que cuando el traslado se concluye no queda marcado... Encontre la Tabla EKBE la cual se llena con los traslados ya concluidos....

Alguno de ustedes sabe como podria sacar de la tabla EKKO todos los registros en el cual el campo EBLN(Su Contenido) no se encuentre en la tabla EKBE.... Alguna idea??

La solucion que yo imagino es seleccionando primero los de EKKO luego barrer esa tabla y buscar si existe en EKBE si existe borrarlo de la Estructura.... Pero creo que es algo lenta mi solucion... :D ALguna idea....???

Resumen.- Como sacar de una tabla todos los registros en el cual su indice no se encuentre en otra.

DCErick
19/04/06, 18:50:31
Bueno lo logre de la siguiente manera...

***Selecciono los traslados de EKBE y los quito de t_zekko.

SELECT DISTINCT ebeln
FROM ekbe
INTO CORRESPONDING FIELDS OF TABLE t_zekko_del.

LOOP AT t_zekko.
v_tabix = sy-tabix.

LOOP AT t_zekko_del WHERE ebeln = t_zekko-ebeln.
DELETE t_zekko INDEX v_tabix.
EXIT.
ENDLOOP.

ENDLOOP.


Se aceptan sugerencias...:p

Marco
20/04/06, 15:13:30
hola,
Estas borrando las coincidencias del 'EKKO' y el 'EKBE', los q tiene el mismo documento EBELN, cierto?
Si es asi (segun lo que veo)... haz podido tambien intentar con un INNER JOIN de ambas tablas y TODAS tus condiciones, incluyendo el MANDT.
;) Bueno, el resultado quizas va ser el mismo... pero tu performance y velocidad quizas mejora... (se tendria que probar en realidad cual es mas rapido).

Saludos,
Marco :)

DCErick
20/04/06, 16:01:34
El inner join me regresa todos los que coinciden....

Y necesito lso que no .....

Trate con un Left Join y no me dejó, es una lastima en MS SQL si sale jeje....

Marco
20/04/06, 16:57:21
hmmm.... eran los registros distintos...
Lo bueno q lograste el objetivo final :) chevere!