cancel
Showing results for 
Search instead for 
Did you mean: 

Reporte de stokcs en almacenes.

Former Member
0 Kudos

Saludos a toda la comunidad,

Veran me llamo Arturo y soy algo nuevo en este tema de SAP BO y estoy tratando de hacer un reporte similar al de al que viene en el modulo de Inventario>iinformes de inventario>informes de stok en almacen. una vez que le doy el parametro desado. me arrja algo asi

Articulo Descripcion Unidad de medida Total almacen Almacen1 Almacen2 Almacen3

1223 llanta PZ 4 1 1 2

6541 vaso CJ 25 4 2 19

asi sucecivamente

lo que yo necesito hacer basicamente lo mismo pero con algunas modificaciones como algunos campos definidos por el usuario que recientemente agregue, como son ubicacion, maximo, punto de reorden, etc mas o menos trate de hacerlo asi no si alguien tenga una mejor opinion.

SELECT T0.[ItemCode], T0.[ItemName], T1.[WhsCode], T1.[OnHand], T0.[U_UBICA], T0.[U_MAX], T0.[U_PREORDEN] FROM OITM T0 INNER JOIN OITW T1 ON T0.ItemCode = T1.ItemCode WHERE T1.[WhsCode] =1 and T1.[WhsCode] =2

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Retomando este tema, ahora lo que necesito es que me de mi informacion de stokcs por almacen acomodado por columnas, y asi yo poder manipularlo.

Elemplo

columna 1 vendrian los items, columna 2 el el stock en almacen 1,columna 3 el el stock en almacen 2 y asi sucecivamente.

former_member188440
Active Contributor
0 Kudos

Unicamente cambia el orden de los campos de acuerdo a como quieres visualizarlo.

former_member210784
Active Contributor
0 Kudos

Hola.

Intenta con este query, muestra el inventario por almacén en columnas y para facilitar la visualización de un grupo de artículos:


SELECT T0.ItemCode, T0.ItemName, 
  'Alm 1'=(SELECT T1.OnHand FROM OITW T1 WHERE T1.ItemCode = T0.ItemCode AND WhsCode = '1'), 
  'Alm 2'=(SELECT T1.OnHand FROM OITW T1 WHERE T1.ItemCode = T0.ItemCode AND WhsCode = '2'), 
  'Alm 3'=(SELECT T1.OnHand FROM OITW T1 WHERE T1.ItemCode = T0.ItemCode AND WhsCode = '3'),
  T0.U_UBICA, T0.U_MAX, T0.U_PREORDEN
FROM OITM T0 INNER JOIN OITB T2 ON T0.ItmsGrpCod = T2.ItmsGrpCod
WHERE T2.ItmsGrpNam = '[%0]'

Debe agregar una columna por cada almacén duplicando la siguiente línea y reemplazando X en (Alm X y WhsCode = 'X') con el cod del almacén, según se ve en el query:

  'Alm X'=(SELECT T1.OnHand FROM OITW T1 WHERE T1.ItemCode = T0.ItemCode AND WhsCode = 'X'),

Nos cuenta cómo le va.

Saludos.

Edited by: Hector Daniel Hernandez Bacca on Apr 23, 2010 11:02 AM

Former Member
0 Kudos

Simplemente extraordinario, no sabes como nos ayudara con los inventarios, si se pudiera te daria 100 puntos muchas gracias!!!!

Edited by: Aguzman on Apr 23, 2010 8:18 PM

Answers (2)

Answers (2)

Former Member
0 Kudos

Hola...

Tu query está bien, yo solo te sugeriría una visión un poco más completa considerando el siguiente query

SELECT DISTINCT T0.[ItemCode], T1.[WhsCode], T0.[ItemName], T0.[InvntryUom],T0.U_UBICA, T0.U_MAX, T0.U_PREORDEN, (SELECT T.[OnHand] FROM OITW T WHERE T.ItemCode = T1.ItemCode AND T.WhsCode = T1.WhsCode) AS 'Stock', (SELECT T.[IsCommited] FROM OITW T WHERE T.ItemCode = T1.ItemCode AND T.WhsCode = T1.WhsCode) AS 'Comprometido', (SELECT T.[OnOrder] FROM OITW T WHERE T.ItemCode = T1.ItemCode AND T.WhsCode = T1.WhsCode) AS 'Solicitado',
(SELECT M.[Price] FROM ITM1 M INNER JOIN OITM N ON M.ItemCode = N.ItemCode INNER JOIN OITW O ON O.ItemCode = M.ItemCode WHERE O.ItemCode = T1.ItemCode AND O.WhsCode = T1.WhsCode and M.PriceList = '01') AS 'Precio Lista 1',
(SELECT M.[Price] * O.OnHand FROM ITM1 M INNER JOIN OITM N ON M.ItemCode = N.ItemCode INNER JOIN OITW O ON O.ItemCode = M.ItemCode WHERE O.ItemCode = T1.ItemCode AND O.WhsCode = T1.WhsCode and M.PriceList = '01')
FROM OITM T0  INNER JOIN OITW T1 ON T0.ItemCode = T1.ItemCode INNER JOIN ITM1 T2 ON T0.ItemCode = T2.ItemCode
ORDER BY T1.WhsCode

En el query se plantea la visualización de la lista de precios 1, por lo que el calculo del total también considera esta misma lista.

Espero te sea de ayuda

Saludos Cordiales,

Former Member
0 Kudos

Nos diste algunas bases muchas gracias.

former_member210784
Active Contributor
0 Kudos

Hola.

Intenta con este query:


SELECT T0.ItemCode, T0.ItemName, T1.WhsCode, T1.OnHand, T0.U_UBICA, T0.U_MAX, T0.U_PREORDEN 
FROM OITM T0 INNER JOIN OITW T1 ON T0.ItemCode = T1.ItemCode 
WHERE T1.WhsCode ='1' or T1.WhsCode ='2'

En el query está mostrando sólo los artículos de los almacenes 1 o 2, ¿es eso lo que neesita?

Saludos.