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 12/02/09, 18:13:55
abfv abfv is offline
Senior Member
 
Fecha de Ingreso: feb 2008
Localización: Buenos Aires - Argentina
Mensajes: 144
Cool inner join (Duplica Información)

Hola, a todos. Tengo un problema que no estoy pudiendo solucionar, hago el siguiente inner join y en agunos casos, que no puedo detectar que tienen, me duplica la información, alguien me puede decir que tengo mal.

Saludos y gracias.

SELECT ekes~ebeln "Nº O.C.
ekes~ebelp "Posición de O.C.
ekes~eindt "Fecha de Entrega
ekes~menge "Cantidad
ekes~xblnr "Documento Externo
ekes~ebtyp "Tipo de Confirmación
ekpo~matnr "Material
ekko~lifnr "Proveedores
vbep~vbeln "Pedido de Ventas
vbep~posnr "Posición
vbep~edatu "Fecha de Entrega
vbak~kunnr "Cliente Solicitante
vbak~bstnk "Referencia al pedido del cliente
vbup~fksta "Estado Respecto Facturación

INTO CORRESPONDING FIELDS OF TABLE t_interz1
FROM ekes

INNER JOIN ekko
ON ekes~ebeln = ekko~ebeln

INNER JOIN ekpo
ON ekes~ebeln = ekpo~ebeln
AND ekes~ebelp = ekpo~ebelp

INNER JOIN eban
ON ekpo~ebeln = eban~ebeln
AND ekpo~ebelp = eban~ebelp

INNER JOIN ebkn
ON eban~banfn = ebkn~banfn
AND eban~bnfpo = ebkn~bnfpo

INNER JOIN vbep
ON ebkn~vbeln = vbep~vbeln
AND ebkn~vbelp = vbep~posnr

INNER JOIN vbup
ON vbep~vbeln = vbup~vbeln
AND vbep~posnr = vbup~posnr

INNER JOIN vbak
ON vbep~vbeln = vbak~vbeln

WHERE ekes~eindt IN s_einZ1 "Fecha de Confirmación
AND ekes~ebtyp = 'Z1' "Tipo de Confirmacion de Entregs
AND ekes~ebeln IN s_ebeln "Documento de Compras
AND ekpo~werks = p_werks "Centro
AND ekpo~loekz NE 'L'
AND ekpo~knttp EQ 'X'
AND ekpo~pstyp EQ '5' "Pedidos a Terceros
AND vbak~kunnr IN s_kunnr "Cliente Solicitante
AND vbak~bstnk IN s_bstnk "Referencia al pedido del Cliente
AND vbak~vbeln IN s_vbeln "Documento de Ventas
AND ekpo~matnr IN s_matnr "Material
AND ekko~lifnr IN s_lifnr. "Proveedor
Responder Con Cita
  #2  
Viejo 12/02/09, 19:04:22
jcflores jcflores is offline
Member
 
Fecha de Ingreso: mar 2006
Localización: Santiago de Chile
Mensajes: 55
Cool

Estimado.

De acuerdo a tu comentario, si mencionas que sólo en ALGUNOS CASOS duplica información, en lo personal, revisaria la consistencia de DATA en la base de datos (Tomarse la molestia de ir Tabla a Tabla y hacer los "Select" manuales vía SE16 o SE16n).

En todo caso, si deseas una solución rápida (lo cuál no quiere decir sea la más óptima) puedes aplicar un DELETE ADJACENT DUPLICATES (Uy tiempo que no ocupo esta sentencia) luego de la selección, y así te aseguras que no te queden registros duplicados.

Asimismo, en lo personal no soy muy amigo de los "Inner Join" pero si puedes realizar la consulta de otra manera mucho más rápida y en forma secuencial intenta aplicarla, para mejorar la performance de tu programa y en casos como este vía debugger puedas revisar que efectivamente rescata la data que tú le solicitas. Recuerda es sólo un computador, el hace lo que tú ordenes.

Saludos y éxitos.
Responder Con Cita
  #3  
Viejo 13/02/09, 07:56:37
bisonye bisonye is offline
Senior Member
 
Fecha de Ingreso: ago 2006
Mensajes: 635
Reconozco que los inner join en muchos casos mejoran el rendimiento y son cómodos para hacer consultas. Pero en este caso creo que es mejor lo que comenta el amigo jcflores. Obtén los datos con selects más sencillos y mediante for all entries, esa sentencia que has puesto es demasiado compleja.

Saludos
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 22:28:15.


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