Está en la página 1de 5

Query stock de artículos y costos - SAP Business One - Ayuda SAP https://foros.consultoria-sap.

com/t/query-stock-de-articulos-y-costos/52016

1 de 5 26/03/2024, 09:44 a. m.
Query stock de artículos y costos - SAP Business One - Ayuda SAP https://foros.consultoria-sap.com/t/query-stock-de-articulos-y-costos/52016

Ingresos pasivos: ganancias mientras duermes (y sin invertir dinero)


Temas

Más

Categorías
Query stock de artículos y costos
Consultas SAP

Tutoriales camilog dic. '20

SAP Business One Como están!! espero logren ayudarme jaja esto es en Sap Business One 93 PL10
Todas las categorías
Necesito un informe que me permita ver el stock de los artículos y el valor acumulado de estos
(costo), estoy usando auditoria de stock pero no me permite visualizar nada de los artículos
Etiquetas
que están parametrizados con Método de valoración: Serie/Lote.
orientacion

Todas las etiquetas

El Informe de auditoría de inventario de lotes y series tampoco me sirve ya que me


muestra en detalle el movimiento de cada articulo y lote, pero no me muestra el acumulado de
estos artículos como un consolidado y sus valores.

Espero me puedan ayudar, si ya tienen un query similar que me muestre los costos y el total
de artículos en stock por cada almacen, aun si los artículos están parametrizados como:
Serie/Lote ya que de momento no doy con las tablas para sacar estos costos.

Yesi dic. '20

Hola @camilog no se si es lo que necesitas, pero si comprendí bien yo utilizo este query

SELECT T0.[ItemCode],T1.[ItemName], T0.[WhsCode], T1.[InvntryUom] AS 'U/M', T0.[OnHand], T0.[


FROM OITW T0
INNER JOIN OITM T1 ON T0.[ItemCode] = T1.[ItemCode]
WHERE T1.[validFor]='Y'

Espero te sea de ayuda.

PUBLICIDAD

epr06 dic. '20

Si con estándar es complicado sacarlo a mano con serie y lote creo vas a llorar, hasta ahorita
no me a tocado trabajar con alguien que utilice ese costeo, pero te puedes basar en OINM,
OITL, ITL1 y OBTN/OSRN yo digo que dentro de esa vista y tablas puedes obtener los datos
que necesitas, no pasa de que debas ver las entrañas de OINM para llegar una solución.

camilog dic. '20

Tengo este Query, pero con el metodo de valoración Serie/Lote el campo [AvgPrice] tiene
valor cero.

2 de 5 26/03/2024, 09:44 a. m.
Query stock de artículos y costos - SAP Business One - Ayuda SAP https://foros.consultoria-sap.com/t/query-stock-de-articulos-y-costos/52016

SELECT DISTINCT
T0."ItemCode" AS "REFERENCIA",
T1."ItemName" AS "DESCRIPCIÒN",
T4."STOCK ACTUAL",
T1."AvgPrice" AS "COSTO PROMEDIO",
(T4."STOCK ACTUAL" * T1."AvgPrice") AS "COSTO STOCK",
T0."Warehouse" AS "BODEGA",
T1."IWeight1" AS "PESO UNIDAD",
T3."WhsName"

FROM "{?Schema@}".OINM T0
INNER JOIN "{?Schema@}".OITM T1 ON T0."ItemCode" = T1."ItemCode"
INNER JOIN "{?Schema@}".OITW T2 ON T0."ItemCode" = T2."ItemCode" AND T0."Warehouse"
INNER JOIN "{?Schema@}".OWHS T3 ON T0."Warehouse" = T3."WhsCode"
LEFT JOIN(SELECT DISTINCT
T2."ItemCode",
T2."ItemName",
T1."WhsCode",
IFNULL((SELECT DISTINCT (SUM(Y."InQty") - SUM(Y."OutQty")) FROM
WHERE Y."ItemCode" = T2."ItemCode"
AND Y."Warehouse" = T1."WhsCode"
AND CAST (Y."DocDate" AS DATE) <= {?3_Fecha_Final@}
),0)"STOCK ACTUAL",

IFNULL((SELECT DISTINCT (SUM(Y."TransValue")) FROM "{?Schema@}".OINM Y


WHERE Y."ItemCode" = T2."ItemCode"
AND Y."Warehouse" = T1."WhsCode"
AND CAST (Y."DocDate" AS DATE) <= {?3_Fecha_Final@}
),0)"COSTO STOCK"

FROM "{?Schema@}".OITM T2
INNER JOIN "{?Schema@}".OITW T0 ON T0."ItemCode" = T2."ItemCode"
INNER JOIN "{?Schema@}".OWHS T1 ON T1."WhsCode" = T0."WhsCode"

WHERE (SELECT DISTINCT (SUM(Y."InQty") - SUM(Y."OutQty")) FROM "{?Schema@}"


WHERE Y."ItemCode" = T2."ItemCode"
AND Y."Warehouse" = T1."WhsCode"
AND CAST (Y."DocDate" AS DATE) <= {?3_Fecha_Final@}
) != '0'

ORDER BY T2."ItemCode", T1."WhsCode"


)T4 ON T0."ItemCode" = T4."ItemCode"
AND T0."Warehouse" = T4."WhsCode"

WHERE
T0."Warehouse" BETWEEN {?1_Bodega_Inicial@} AND {?2_Bodega_Final@}
AND CAST (T0."DocDate" AS DATE) <= {?3_Fecha_Final@}
AND T4."STOCK ACTUAL" > 0

ORDER BY T0."ItemCode"

Stock valorizado a fecha determinada

PUBLICIDAD

camilog dic. '20

Lo se, es un caos

De momento trabajo con este, pero como digo inicialmente en el post no me trae el costo de
los articulos con valoración Serie/Lote

SELECT DISTINCT
T0."ItemCode" AS "REFERENCIA",
T1."ItemName" AS "DESCRIPCIÒN",
T4."STOCK ACTUAL",
T1."AvgPrice" AS "COSTO PROMEDIO",
(T4."STOCK ACTUAL" * T1."AvgPrice") AS "COSTO STOCK",
T0."Warehouse" AS "BODEGA",
T1."IWeight1" AS "PESO UNIDAD",
T3."WhsName"

FROM "{?Schema@}".OINM T0

3 de 5 26/03/2024, 09:44 a. m.
Query stock de artículos y costos - SAP Business One - Ayuda SAP https://foros.consultoria-sap.com/t/query-stock-de-articulos-y-costos/52016

FROM "{?Schema@}".OINM T0
INNER JOIN "{?Schema@}".OITM T1 ON T0."ItemCode" = T1."ItemCode"
INNER JOIN "{?Schema@}".OITW T2 ON T0."ItemCode" = T2."ItemCode" AND T0."Warehouse"
INNER JOIN "{?Schema@}".OWHS T3 ON T0."Warehouse" = T3."WhsCode"
LEFT JOIN(SELECT DISTINCT
T2."ItemCode",
T2."ItemName",
T1."WhsCode",
IFNULL((SELECT DISTINCT (SUM(Y."InQty") - SUM(Y."OutQty")) FROM
WHERE Y."ItemCode" = T2."ItemCode"
AND Y."Warehouse" = T1."WhsCode"
AND CAST (Y."DocDate" AS DATE) <= {?3_Fecha_Final@}
),0)"STOCK ACTUAL",

IFNULL((SELECT DISTINCT (SUM(Y."TransValue")) FROM "{?Schema@}".OINM Y


WHERE Y."ItemCode" = T2."ItemCode"
AND Y."Warehouse" = T1."WhsCode"
AND CAST (Y."DocDate" AS DATE) <= {?3_Fecha_Final@}
),0)"COSTO STOCK"

FROM "{?Schema@}".OITM T2
INNER JOIN "{?Schema@}".OITW T0 ON T0."ItemCode" = T2."ItemCode"
INNER JOIN "{?Schema@}".OWHS T1 ON T1."WhsCode" = T0."WhsCode"

WHERE (SELECT DISTINCT (SUM(Y."InQty") - SUM(Y."OutQty")) FROM "{?Schema@}"


WHERE Y."ItemCode" = T2."ItemCode"
AND Y."Warehouse" = T1."WhsCode"
AND CAST (Y."DocDate" AS DATE) <= {?3_Fecha_Final@}
) != '0'

ORDER BY T2."ItemCode", T1."WhsCode"


)T4 ON T0."ItemCode" = T4."ItemCode"
AND T0."Warehouse" = T4."WhsCode"

WHERE
T0."Warehouse" BETWEEN {?1_Bodega_Inicial@} AND {?2_Bodega_Final@}
AND CAST (T0."DocDate" AS DATE) <= {?3_Fecha_Final@}
AND T4."STOCK ACTUAL" > 0

ORDER BY T0."ItemCode"

epr06 dic. '20

Tiene sentido que el costo no este en el campo AvgPrice, vamos a plantear un escenario en el
cual se consulta el 2020/12/09:
Tu moneda local es peso mexicano, el producto “A0001” y tienes 2 entradas, la primera el
2020/12/01 (se le asigno el lote “A1/20201201_1”) y la segunda el 2020/12/08 (se le asigno el
lote “A1/20201208_1”), el precio en ambos ocasiones es 5 USD la unidad, ambas ocasiones
se reciben 10 unidades.
Tipo de cambio día 1 = 20
Tipo de cambio día 8 = 19
+No hay ningún movimiento de stock adicional para para tener casos ideales

*Caso1 - Costeo Promedio


Importe de E1 = (Precio * TC) * Qty = (5 * 20)*10 = 1000
Valor del Stock en E1 = (Precio * TC) * Qty = (5 * 20)*10 = 1000
Costo Unitario en E1 = Valor Stock / Qty = 1000 / 10 = 100

Importe de E2 = (Precio * TC) * Qty = (5 * 19)*10 = 950


Valor del Stock en E2 = (Precio * TC) * Qty = (5 * 19)*10 = 950
Costo Unitario en E2 = Valor Stock / Qty = 950 / 10 = 95

Costo Unitario el día 9 = Valor Total / Qty Total = 1950 / 20 = 97.50 y este el valor que valor
que muestra y almacena SAP en AvgPrice (se va calculando basado en cada movimiento)

*Caso 2 - Costo Estandar (se tiene que definir previamente para fines informativos digamos
que es a la mitad de acuerdo al punto anterior Costo Estadar = 98)

Importe de E1 = (Precio * TC) * Qty = (5 * 20)*10 = 1000


Valor del Stock en E1 = CostoEstandar * Qty = 98 * 10 = 980
Desviación de Costo en E1 = Importe - valor = 1000 - 980 = 20
Costo Unitario en E1 = Costo Estandar = 98

Importe de E2 = (Precio * TC) * Qty = (5 * 19)*10 = 950


Valor del Stock en E2 = CostoEstandar * Qty = 98 * 10 = 980
Desviación de Costo en E2 = Importe - valor = 950 - 980 = -30
Costo Unitario en E2 = Costo Estandar = 98

Costo Unitario el día 9 = Costo Estandar = 98 y este el valor que valor que muestra y

4 de 5 26/03/2024, 09:44 a. m.
Query stock de artículos y costos - SAP Business One - Ayuda SAP https://foros.consultoria-sap.com/t/query-stock-de-articulos-y-costos/52016

Costo Unitario el día 9 = Costo Estandar = 98 y este el valor que valor que muestra y
almacena SAP en AvgPrice (NO cambia a menos que se modifique manualmente)

Caso 3 - Costo serie/Lote


Importe de E1 = (Precio * TC) * Qty = (5 * 20)*10 = 1000
Valor del Stock en E1 = (Precio * TC) * Qty = (5 * 20)*10 = 1000
Costo Unitario en E1 = Valor Stock / Qty = 1000 / 10 = 100

Importe de E2 = (Precio * TC) * Qty = (5 * 19)*10 = 950


Valor del Stock en E2 = (Precio * TC) * Qty = (5 * 19)*10 = 950
Costo Unitario en E2 = Valor Stock / Qty = 950 / 10 = 95

Costo Unitario el día 9 = 100 para el lote A1/20201201_1


Costo Unitario el día 9 = 95 para el lote A1/20201208_1
y estos son los valores que SAP mostrara el día 9

Conclusión: En los casos 1 y 2 se necesita solo un campo para almacenar el costo actual, en
el Caso 3 puedes tener un costo diferente para cada una de tus series y/o lotes, un solo
campo no alcanza. Te sugiero buscar el costo en OBTN/OSRN al ser el dato maestro de
Lotes/Series ahí debería estar.

En los 3 casos esos campos almacenan costo actual, si quieres saber el costo en un
punto histórico siempre se debe calcular

PUBLICIDAD

Clic aquí para navegar sin publicidad


Temas nuevos y no leídos

Tema Respuestas Vistas Actividad

Aprobaciones personalizadas 0 14 14 h

Carga de documentos en Web Client SBO 10 2 129 12 h

Reconciliar Pago de Letra Periodo anterior 7 189 20 h

No se puede seleccionar artículos de activo 3 94 18 d

Query a una orden de pago del modulo banco 6 125 6d

¿Quieres leer más? Explora otros temas en o consulta los últimos temas.

5 de 5 26/03/2024, 09:44 a. m.

También podría gustarte