MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 16/01/08, 14:19:01
DrErix DrErix is offline
Junior Member
 
Fecha de Ingreso: jul 2007
Mensajes: 13
Red face Usar tablas internas como condicion en un select

Hola a todos,

Tengo una gran duda, necesito usar tablas internas como lista de valores en el apartado WHERE de un SELECT, ya conozco la instrucción FOR ALL ENTRIES pero eso solo me permite comparar con una sola tabla interna, mi problema es que necesito comparar con mas de una tabla interna en el mismo SELECT.
De momento estoy haciendo un LOOP AT con la primera tabla e incluyo la segunda en la instrucción FOR ALL ENTRIES pero evidentemente eso conlleva un gran problema de performance y cuando la tabla consultada empieze a crecer tendré serios problemas.

Alguien me haria el favor de ayudarme?

Gracias por adelantado

Úlima edición por DrErix fecha: 16/01/08 a las 14:24:50.
Responder Con Cita
  #2  
Viejo 17/01/08, 09:20:12
Avatar de ppchico
ppchico ppchico is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Localización: Málaga
Mensajes: 144
Personalmente, creo que lo mejor que podrías hacer, sería lo siguiente:

1 Puedes almacenar toda la información de ambas tablas en una sola tabla auxiliar, de modo que ya tendrías todos los datos a comparar, y usarías dicha tabla para el FOR ALL ENTRIES. (Esto solo es posible, si las tablas internas que quieres incluir en el select, tienen alguna relación de datos).

2 Puedes recuperar todos los datos en el select, sin tener en cuenta los datos de las tablas internas, y posteriormente, recorrer la tabla, y eliminar aquellos registros que no cumplan las condiciones de las tablas internas, es decir:

select *
from tabla_diccionario
into lt_tabla_aux
where <condiciones locales a la tabla>

loop at lt_tabla_aux into ls_registro_aux.

read table lt_tabla_aux_1 with key <condicion de encuentro>.

check sy-subrc eq 0.

read table lt_tabla_aux2 with key <condiocion de encuentro>

check sy-subrc eq 0.

....

append ls_registro_aux into lt_tabla_final.

endloop.



Espero que te sirva...
Responder Con Cita
  #3  
Viejo 18/01/08, 07:45:50
DrErix DrErix is offline
Junior Member
 
Fecha de Ingreso: jul 2007
Mensajes: 13
Gracias

Muchas gracias,
Me ha sido de gran ayuda, no habia caido en esta posibilidad
Responder Con Cita
  #4  
Viejo 18/01/08, 21:07:59
Avatar de Rodolfo Montiel Rivera
Rodolfo Montiel Rivera Rodolfo Montiel Rivera is offline
Member
 
Fecha de Ingreso: oct 2007
Mensajes: 92
Y si necesita extraes de mas de una tabla usas inner joins

Ejemplo

TABLAA TABLAB TABLAC
campo1 campo1 campo2
campo2 campo4 campo6
campo3 campo5

Select a~campo1
a~campo2
a~campo3
b~campo4
b~campo5
c~campo6
INTO TABLE itab_auxiliar
FROM tablaA as a
INNER JOIN tablaB as b
ON b~campo1 = a~campo1
INNER JOIN tablaC as c
ON c~campo2 = a~campo2
WHERE a~campo1 EQ ' '
AND a~campo2 EQ ' '
AND c~campo6 NE ' '.

Explicacion:

Contruyo una sola tabla trayendome campos diferentes de 3 tablas por su campo relacion existente mas aparte las condicionates del where asi podrias traerte la mayor cantidad de informacion de un solo tajo.
__________________
01010000
01001010
10011000
10100001

De Byte a Beat.
Responder Con Cita
  #5  
Viejo 21/01/08, 14:08:36
DrErix DrErix is offline
Junior Member
 
Fecha de Ingreso: jul 2007
Mensajes: 13
Wink No me has pillado


No me has entendido lo que queria decir, yo necesito leer una tabla estandard, comparandola con varias tablas internas, tu me explicas como unir varias tablas estandard
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 06:08:09.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web