Consulta en query para SAP HANA

Hola a todos, espero me puedan ayudar. Tengo la sgte consulta:

SELECT T0.“DocNum” AS DOC,
T0.“DocDate” AS Fecha,
T0.“NumAtCard” AS FACTURA,
T2.“CardCode” AS CodCli,
T2.“CardName” AS Cliente,
T3.“ItemCode” AS CODIGO,
T3.“ItemName” AS DESCRIPCION,
CASE WHEN (T1.“WhsCode” LIKE ‘%SC%’) THEN ‘Santa Cruz’
WHEN (T1.“WhsCode” LIKE ‘%CB%’) THEN ‘Cochabamba’
WHEN (T1.“WhsCode” LIKE ‘%LP%’ OR T1.“WhsCode” LIKE ‘%EA%’) AND (T4.“SlpCode” NOT IN (‘12’, ‘18’)) THEN ‘La Paz’
WHEN (T1.“WhsCode” LIKE ‘%LP%’ OR T1.“WhsCode” LIKE ‘%EA%’) AND (T4.“SlpCode” IN (‘12’, ‘18’)) THEN ‘Sucre’ END AS Sucursal,
T1.“Quantity” AS Cantidad,
CASE WHEN T1.“WhsCode” = ‘ZF_01’ THEN T1.“LineTotal” ELSE T1.“LineTotal” / .87 END AS VENTAS,
T3.“QryGroup1” AS Equipo,
T3.“SuppCatNum” AS HumCod
FROM
OINV AS T0 INNER JOIN
INV1 AS T1 ON T0.“DocEntry” = T1.“DocEntry” INNER JOIN
OCRD AS T2 ON T0.“CardCode” = T2.“CardCode” INNER JOIN
OITM AS T3 ON T1.“ItemCode” = T3.“ItemCode” INNER JOIN
OSLP AS T4 ON T0.“SlpCode” = T4.“SlpCode” INNER JOIN
WHERE
(T0.“U_ESTADOFC”=‘V’) AND (T3.“QryGroup1”=‘Y’) and
(T0.“DocDate” BETWEEN ‘20220301’ and ‘20220331’)

Y me corre bien, pero si decido aumentar las lineas:
T5.“BatchNum” AS LOTE
y en la parte de
FROM:
OIBT AS T5 ON T1.“ItemCode” = T5.“ItemCode”
Los resultados me salen con todos los numeros del lote del articulo, no solo los del documento que encontró el query. Cual puede ser mi error? gracias

Que tal @ismaelhmg,

la tabla OIBT efectivamente guarda todos los registros de los movimientos que han tenido los articulos que utilizan lotes. si quieres que te muestre solo del documento que estas consultando, no basta con hacer el join en base al ItemCode, sino que tambien tienes que indicarle que el T5.“BaseType” = T0.“ObjType” AND T5.“BaseEntry” = T0.“DocEntry”. OJO, esto considerando que el movimeinto del stock fue en la Factura, ya que si primero haces una entrega y despues la copias a factura, al agregar la relacion que te indico no te mostrara resultados, en ese caso primerotendras que hacer un join entre la INV1 y la DLN1 luego la DLN1 con la ODLN y despues ya relacionas la OIBT con la ODLN.

Espero te sirva.

Saludos.

1 me gusta

JoseVC, muchas gracias por el consejo, hare las pruebas del caso, tu respuesta fue muy util

hola Ismael, tengo una duda, tu numero de lote lo asignas en la entrega o en la factura de ser en la factura por que no utilizas la vista de lotes y con esto filtras, despues de esto losd atos alen mas limpios y dejas de usar la OIBT

tenvo dos opciones, en la entrega y en la factura. depende mucho la ocasion pero tienes razon, tal vez por eso me muestra lineas de informacion q no necesito.

1 me gusta

haz una subconsulta que tome dependiendo si es en entrega o factura la tabla de lotes es la IBT1_LINK es una vista y ahi la relacionas por el tipo de documento 15 entrega, 13 factura y por el itemcode.

1 me gusta

Perfecto, hare eso mas para comparar los resultados, gracias Daniel!

Este tema se cerró automáticamente 7 días después de la última publicación. No se permiten nuevas respuestas.