cancel
Showing results for 
Search instead for 
Did you mean: 

Error en Query

marco_ramirez
Active Contributor
0 Kudos

Buenas tardes

Les agradezco su ayuda con el siguiente caso:

Hice la siguiente consulta para agrupar los resultados de ingresos y egresos del inventario teniendo algunos inconvenientes

lo primero es que no logro agrupar (con sum) los valores de un artículo en una fecha determinada, a pesar de usar la función sum me salen varias líneas de la misma fecha en el reporte.

lo segundo es que al ejecutar la consulta dentro de SAP Business One me indica un error del cual dejo una imagen, lo que no ocurre en SQL server

agradezco su orientación al respecto.

Saludos


Select

A.Código

, A.Descripción

, A.Almacén

, Sum(A.Entradas)

, Sum(A.Salidas)

, A.Saldo

From

(SELECT Distinct

T0.[DocDate][Fecha]

, T1.[ItemCode][Código]

, T1.[ItemName][Descripción]

, T0.[Warehouse][Almacén]

, Sum(T0.[InQty])[Entradas]

, Sum(T0.[OutQty])[Salidas]

, Sum(T0.[InQty] - T0.[OutQty])[Saldo]

FROM OINM T0

INNER JOIN OITM T1 ON T0.[ItemCode] = T1.[ItemCode]

INNER JOIN OITB T2 ON T1.[ItmsGrpCod] = T2.[ItmsGrpCod]

WHERE

T2.[ItmsGrpCod] Not In ('100', '104', '106', '107', '110', '111', '112', '113', '114', '115')

--and T0.[DocDate] between [%0] and [%1]

GROUP BY

T0.[DocDate]

, T1.[ItemCode]

, T1.[ItemName]

, T0.[InQty]

, T0.[OutQty], T0.[Warehouse])A

--Where A.Fecha Between [%0] and [%1]

Group By

A.Código

, A.Descripción

, A.Almacén

, A.Saldo

Accepted Solutions (1)

Accepted Solutions (1)

former_member285534
Active Participant
0 Kudos

Hola Marco,

La suma de entradas y salidas no está ocurriendo como esperas porque el query presenta el saldo de cada movimiento, lo cual impide la agregación.

Si el saldo después de todos los movimientos te es importante habrá que reescribir el query de otra forma.  Si el saldo no te es importante, efectúa los siguientes cambios a tu consulta:

1) Elimina la línea 7

2) Elimina la línea 34

3) Cambia

GROUP BY 

T0.[DocDate] 

, T1.[ItemCode] 

, T1.[ItemName] 

, T0.[InQty] 

, T0.[OutQty], T0.[Warehouse])A 


a


GROUP BY 

T0.[DocDate] 

, T1.[ItemCode] 

, T1.[ItemName] 

, T0.[Warehouse])A


Las entradas y salidas sumarizarán ahora sí por código y almacén


Saludos,


Fernando

marco_ramirez
Active Contributor
0 Kudos

Gracias Fernando

former_member285534
Active Participant
0 Kudos

De nada.  Saludos

Answers (1)

Answers (1)

marco_ramirez
Active Contributor
0 Kudos
2/10/2015PT000005Artículo 121010-10
2/10/2015PT000005Artículo 1210200-200
2/10/2015PT000005Artículo 1310417-417

A esto me refiero en el apartado anterior, las primeras dos filas debieron ser agrupadas por ser el mismo almacén y sumados sus valores.

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

la solución es incorporar la consulta en un procedimiento almacenado y ejecutarlo desde el Query Manager.

A veces, con consultas no muy complejas, el gestor de consultas de SBO no funciona como esperamos.

Un saludo

Agustín Marcos Cividanes

marco_ramirez
Active Contributor
0 Kudos

Gracias Agustin, asi he visto pero lo otro me intriga más pues no hace la sumatoria correspondiente.

agustin_marcoscividanes
Active Contributor
0 Kudos

Hola

comprueba si el valor del campo OINM.docdate es sólo fecha, o incluye la hora también.

Si es así, tendrás que procesarla para tomar sólo la fecha y descartar la hora.

Un saludo

Agustín Marcos Cividanes