Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8720

Listados de ordenes de produccion en proceso a una determinada fecha

$
0
0

Buenas tardes a todos.

 

Estoy tratando de sacar un listado de ordenes de produccion que aun no se han cerrado, con el valor de sus componentes consumidos en esa orden por rango de fechas, no tengo idea de como sacarlos por ejemplo quieren evaluar cuanto quedo en proceso de un inicio de mes al final del mismo mes, he logrado sacarlos desde el inicio hasta fecha actual, pero corte de fechas.

 

Alguien tiene una idea de como sacarlo.

 

 

esta es la vista que tengo para almacenar los datos

 

SELECT DISTINCT

                      T0.Series, dbo.NNM1.SeriesName, T0.PlannedQty AS planificado, T0.PostDate AS Fcreacion, T0.RlsDate AS Fliberacion, T0.DocNum AS Orden,

                      T1.ItmsGrpCod AS grupo, T0.ItemCode AS Codigo, T1.ItemName AS Descripcion, 0 AS PrecioVenta, T0.CloseDate AS Termino,

                      CASE WHEN (OITM_1.ItmsGrpCod NOT IN (111, 114, 112, 126, 109, 110, 128, 108, 127, 128, 102, 104, 107, 106, 122)) THEN (IGN1_1.LineTotal * - 1)

                      ELSE 0 END AS Kilos, CASE WHEN (OITM_1.ItmsGrpCod IN (128, 127, 122, 110, 109, 108, 107, 106, 104, 102)) THEN (IGN1_1.LineTotal * - 1) ELSE 0 END AS Material,

                      CASE WHEN (OITM_1.ItmsGrpCod = (114)) THEN (IGN1_1.LineTotal * - 1) ELSE 0 END AS ManodeObra, CASE WHEN (OITM_1.ItmsGrpCod = (112))

                      THEN (IGN1_1.LineTotal * - 1) ELSE 0 END AS Gif, CASE WHEN (OITM_1.ItmsGrpCod = (116)) THEN (IGN1_1.LineTotal * - 1) ELSE 0 END AS Prest,

                      CASE WHEN (OITM_1.ItmsGrpCod = (111)) THEN (IGN1_1.LineTotal * - 1) ELSE 0 END AS Coef, SUM(0) AS consumo, SUM(0) AS costoproductoreal,

                      IGN1_1.DocEntry + IGN1_1.LineNum AS DocEntry

FROM         dbo.OWOR AS T0 INNER JOIN

                      dbo.OITM AS T1 ON T0.ItemCode = T1.ItemCode INNER JOIN

                      dbo.WOR1 ON T0.DocEntry = dbo.WOR1.DocEntry INNER JOIN

                      dbo.OITM AS OITM_1 ON dbo.WOR1.ItemCode = OITM_1.ItemCode INNER JOIN

                      dbo.NNM1 ON T0.Series = dbo.NNM1.Series INNER JOIN

                      dbo.IGN1 AS IGN1_1 ON T0.DocNum = IGN1_1.BaseRef AND OITM_1.ItemCode = IGN1_1.ItemCode LEFT OUTER JOIN

                      dbo.IGN1 ON T0.DocNum = dbo.IGN1.BaseRef AND T0.ItemCode = dbo.IGN1.ItemCode

WHERE     (T0.Status = 'R')

GROUP BY T0.DocNum, T1.ItmsGrpCod, T0.ItemCode, T1.ItemName, T0.U_Fecha_fin, T0.PostDate, T0.RlsDate, T0.CloseDate, T0.Series, dbo.NNM1.SeriesName,

                      dbo.WOR1.IssuedQty, OITM_1.ItmsGrpCod, T0.PlannedQty, dbo.IGN1.Price, IGN1_1.LineTotal, IGN1_1.DocEntry + IGN1_1.LineNum, IGN1_1.DocEntry

UNION ALL

SELECT     T0.Series, NNM1_7.SeriesName, T0.PlannedQty AS planificado, T0.PostDate AS Fcreacion, T0.RlsDate AS Fliberacion, T0.DocNum AS Orden, T1.ItmsGrpCod AS grupo,

                      T0.ItemCode AS Codigo, T1.ItemName AS Descripcion, SUM(0) AS PrecioVenta, T0.CloseDate AS Termino, SUM(T4.LineTotal) AS Kilos, SUM(0) AS Material, SUM(0)

                      AS ManodeObra, SUM(0) AS Gif, SUM(0) AS Prest, SUM(0) AS Coef, T0.CmpltQty AS consumo, SUM(0) AS costoproductoreal, 0 AS DOCENTRY

FROM         dbo.OWOR AS T0 INNER JOIN

                      dbo.WOR1 AS WOR1_6 ON T0.DocEntry = WOR1_6.DocEntry INNER JOIN

                      dbo.IGE1 AS T4 ON WOR1_6.ItemCode = T4.ItemCode AND T0.DocNum = T4.BaseRef INNER JOIN

                      dbo.OITM ON T4.ItemCode = dbo.OITM.ItemCode INNER JOIN

                      dbo.NNM1 AS NNM1_7 ON T0.Series = NNM1_7.Series INNER JOIN

                      dbo.OITM AS T1 ON T0.ItemCode = T1.ItemCode

WHERE     (dbo.OITM.ItmsGrpCod NOT IN (111, 114, 112, 126, 109, 110, 128, 108, 122, 127, 128, 102, 104, 107, 106)) AND (T0.Status = 'R')

GROUP BY T0.DocNum, T0.Series, T0.PostDate, T0.DueDate, T4.ItemCode, dbo.OITM.ItemName, T1.ItmsGrpCod, T0.RlsDate, dbo.OITM.ItmsGrpCod, T0.ItemCode,

                      NNM1_7.SeriesName, T0.PlannedQty, T1.ItemName, T0.PostDate, T0.CloseDate, T0.CmpltQty

UNION ALL

SELECT     T0.Series, NNM1_6.SeriesName, T0.PlannedQty AS planificado, T0.PostDate AS Fcreacion, T0.RlsDate AS Fliberacion, T0.DocNum AS Orden, T1.ItmsGrpCod AS grupo,

                      T0.ItemCode AS Codigo, T1.ItemName AS Descripcion, SUM(0) AS PrecioVenta, T0.CloseDate AS Termino, SUM(0) AS Kilos, T4.LineTotal AS Material, SUM(0)

                      AS ManodeObra, SUM(0) AS Gif, SUM(0) AS Prest, SUM(0) AS Coef, T0.CmpltQty AS consumo, SUM(0) AS costoproductoreal, T4.LineNum + T4.DocEntry AS Expr1

FROM         dbo.OWOR AS T0 INNER JOIN

                      dbo.WOR1 AS WOR1_5 ON T0.DocEntry = WOR1_5.DocEntry INNER JOIN

                      dbo.IGE1 AS T4 ON WOR1_5.ItemCode = T4.ItemCode AND T0.DocNum = T4.BaseRef INNER JOIN

                      dbo.OITM AS OITM_6 ON T4.ItemCode = OITM_6.ItemCode INNER JOIN

                      dbo.NNM1 AS NNM1_6 ON T0.Series = NNM1_6.Series INNER JOIN

                      dbo.OITM AS T1 ON T0.ItemCode = T1.ItemCode

WHERE     (OITM_6.ItmsGrpCod IN (128, 127, 122, 110, 109, 108, 107, 106, 104, 102)) AND (T0.Status = 'R')

GROUP BY T0.DocNum, T0.Series, T0.PostDate, T0.DueDate, T4.ItemCode, OITM_6.ItemName, T1.ItmsGrpCod, T0.RlsDate, OITM_6.ItmsGrpCod, T0.ItemCode,

                      NNM1_6.SeriesName, T0.PlannedQty, T1.ItemName, T0.PostDate, T0.CloseDate, T0.CmpltQty, T4.LineNum + T4.DocEntry, T4.LineTotal

UNION ALL

SELECT     T0.Series, NNM1_5.SeriesName, T0.PlannedQty AS planificado, T0.PostDate AS Fcreacion, T0.RlsDate AS Fliberacion, T0.DocNum AS Orden, T1.ItmsGrpCod AS grupo,

                      T0.ItemCode AS Codigo, T1.ItemName AS Descripcion, SUM(0) AS PrecioVenta, T0.CloseDate AS Termino, SUM(0) AS Kilos, SUM(0) AS Material, SUM(0)

                      AS ManodeObra, SUM(T4.LineTotal) AS Gif, SUM(0) AS Prest, SUM(0) AS Coef, T0.CmpltQty AS consumo, SUM(0) AS costoproductoreal, 0 AS DOCENTRY

FROM         dbo.OWOR AS T0 INNER JOIN

                      dbo.WOR1 AS WOR1_4 ON T0.DocEntry = WOR1_4.DocEntry INNER JOIN

                      dbo.IGE1 AS T4 ON WOR1_4.ItemCode = T4.ItemCode AND T0.DocNum = T4.BaseRef INNER JOIN

                      dbo.OITM AS OITM_5 ON T4.ItemCode = OITM_5.ItemCode INNER JOIN

                      dbo.NNM1 AS NNM1_5 ON T0.Series = NNM1_5.Series INNER JOIN

                      dbo.OITM AS T1 ON T0.ItemCode = T1.ItemCode

WHERE     (OITM_5.ItmsGrpCod = 112) AND (T0.Status = 'R')

GROUP BY T0.DocNum, T0.Series, T0.PostDate, T0.DueDate, T4.ItemCode, OITM_5.ItemName, T1.ItmsGrpCod, T0.RlsDate, OITM_5.ItmsGrpCod, T0.ItemCode,

                      NNM1_5.SeriesName, T0.PlannedQty, T1.ItemName, T0.PostDate, T0.CloseDate, T0.CmpltQty

UNION ALL

SELECT     T0.Series, NNM1_4.SeriesName, T0.PlannedQty AS planificado, T0.PostDate AS Fcreacion, T0.RlsDate AS Fliberacion, T0.DocNum AS Orden, T1.ItmsGrpCod AS grupo,

                      T0.ItemCode AS Codigo, T1.ItemName AS Descripcion, SUM(0) AS PrecioVenta, T0.CloseDate AS Termino, SUM(0) AS Kilos, SUM(0) AS Material,

                      T4.LineTotal AS ManodeObra, SUM(0) AS Gif, SUM(0) AS Prest, SUM(0) AS Coef, T0.CmpltQty AS consumo, SUM(0) AS costoproductoreal,

                      T4.LineNum + T4.DocEntry AS Expr1

FROM         dbo.OWOR AS T0 INNER JOIN

                      dbo.WOR1 AS WOR1_3 ON T0.DocEntry = WOR1_3.DocEntry INNER JOIN

                      dbo.IGE1 AS T4 ON WOR1_3.ItemCode = T4.ItemCode AND T0.DocNum = T4.BaseRef INNER JOIN

                      dbo.OITM AS OITM_4 ON T4.ItemCode = OITM_4.ItemCode INNER JOIN

                      dbo.NNM1 AS NNM1_4 ON T0.Series = NNM1_4.Series INNER JOIN

                      dbo.OITM AS T1 ON T0.ItemCode = T1.ItemCode

WHERE     (OITM_4.ItmsGrpCod = 114) AND (T0.Status = 'R')

GROUP BY T0.DocNum, T0.Series, T0.PostDate, T0.DueDate, T4.ItemCode, OITM_4.ItemName, T1.ItmsGrpCod, T0.RlsDate, OITM_4.ItmsGrpCod, T0.ItemCode,

                      NNM1_4.SeriesName, T0.PlannedQty, T1.ItemName, T0.PostDate, T0.CloseDate, T0.CmpltQty, T4.LineNum + T4.DocEntry, T4.LineTotal

UNION ALL

SELECT     T0.Series, NNM1_3.SeriesName, T0.PlannedQty AS planificado, T0.PostDate AS Fcreacion, T0.RlsDate AS Fliberacion, T0.DocNum AS Orden, T1.ItmsGrpCod AS grupo,

                      T0.ItemCode AS Codigo, T1.ItemName AS Descripcion, SUM(0) AS PrecioVenta, T0.CloseDate AS Termino, SUM(0) AS Kilos, SUM(0) AS Material, SUM(0)

                      AS ManodeObra, SUM(0) AS Gif, SUM(T4.LineTotal) AS Prest, SUM(0) AS Coef, T0.CmpltQty AS consumo, SUM(0) AS costoproductoreal, 0 AS DOCENTRY

FROM         dbo.OWOR AS T0 INNER JOIN

                      dbo.WOR1 AS WOR1_2 ON T0.DocEntry = WOR1_2.DocEntry INNER JOIN

                      dbo.IGE1 AS T4 ON WOR1_2.ItemCode = T4.ItemCode AND T0.DocNum = T4.BaseRef INNER JOIN

                      dbo.OITM AS OITM_3 ON T4.ItemCode = OITM_3.ItemCode INNER JOIN

                      dbo.NNM1 AS NNM1_3 ON T0.Series = NNM1_3.Series INNER JOIN

                      dbo.OITM AS T1 ON T0.ItemCode = T1.ItemCode

WHERE     (OITM_3.ItmsGrpCod = 126) AND (T0.Status = 'R')

GROUP BY T0.DocNum, T0.Series, T0.PostDate, T0.DueDate, T4.ItemCode, OITM_3.ItemName, T1.ItmsGrpCod, T0.RlsDate, OITM_3.ItmsGrpCod, T0.ItemCode,

                      NNM1_3.SeriesName, T0.PlannedQty, T1.ItemName, T0.PostDate, T0.CloseDate, T0.CmpltQty

UNION ALL

SELECT     T0.Series, NNM1_2.SeriesName, T0.PlannedQty AS planificado, T0.PostDate AS Fcreacion, T0.RlsDate AS Fliberacion, T0.DocNum AS Orden, T1.ItmsGrpCod AS grupo,

                      T0.ItemCode AS Codigo, T1.ItemName AS Descripcion, SUM(0) AS PrecioVenta, T0.CloseDate AS Termino, SUM(0) AS Kilos, SUM(0) AS Material, SUM(0)

                      AS ManodeObra, SUM(0) AS Gif, SUM(0) AS Prest, SUM(T4.LineTotal) AS Coef, T0.CmpltQty AS consumo, SUM(0) AS costoproductoreal, 0 AS DOCENTRY

FROM         dbo.OWOR AS T0 INNER JOIN

                      dbo.WOR1 AS WOR1_1 ON T0.DocEntry = WOR1_1.DocEntry INNER JOIN

                      dbo.IGE1 AS T4 ON WOR1_1.ItemCode = T4.ItemCode AND T0.DocNum = T4.BaseRef INNER JOIN

                      dbo.OITM AS OITM_2 ON T4.ItemCode = OITM_2.ItemCode INNER JOIN

                      dbo.NNM1 AS NNM1_2 ON T0.Series = NNM1_2.Series INNER JOIN

                      dbo.OITM AS T1 ON T0.ItemCode = T1.ItemCode

WHERE     (OITM_2.ItmsGrpCod = 111) AND (T0.Status = 'R')

GROUP BY T0.DocNum, T0.Series, T0.PostDate, T0.DueDate, T4.ItemCode, OITM_2.ItemName, T1.ItmsGrpCod, T0.RlsDate, OITM_2.ItmsGrpCod, T0.ItemCode,

                      NNM1_2.SeriesName, T0.PlannedQty, T1.ItemName, T0.PostDate, T0.CloseDate, T0.CmpltQty

UNION ALL

SELECT DISTINCT

                      TOP (100) PERCENT T0.Series, NNM1_1.SeriesName, T0.PlannedQty AS planificado, T0.PostDate AS Fcreacion, T0.RlsDate AS Fliberacion, T0.DocNum AS Orden,

                      T1.ItmsGrpCod AS grupo, T0.ItemCode AS Codigo, T1.ItemName AS Descripcion, dbo.ITM1.Price AS PrecioVenta, T0.CloseDate AS Termino, SUM(0) AS Kilos, SUM(0)

                      AS Material, SUM(0) AS ManodeObra, SUM(0) AS Gif, SUM(0) AS Prest, SUM(0) AS Coef, SUM(0) AS consumo, SUM(T3.LineTotal) AS costoproductoreal,

                      0 AS DOCENTRY

FROM         dbo.NNM1 AS NNM1_1 INNER JOIN

                      dbo.IGN1 AS T3 INNER JOIN

                      dbo.OWOR AS T0 ON T3.BaseRef = T0.DocNum AND T3.ItemCode = T0.ItemCode ON NNM1_1.Series = T0.Series INNER JOIN

                      dbo.OITM AS T1 ON T0.ItemCode = T1.ItemCode INNER JOIN

                      dbo.OITM AS T5 ON T3.ItemCode = T5.ItemCode LEFT OUTER JOIN

                      dbo.ITM1 ON T1.ItemCode = dbo.ITM1.ItemCode

WHERE     (T5.ItmsGrpCod IN (101, 127, 119, 113, 120)) AND (T0.Status = 'R') AND (dbo.ITM1.PriceList = 1)

GROUP BY T0.DocNum, T1.ItmsGrpCod, T0.ItemCode, T1.ItemName, T0.U_Fecha_fin, T0.PostDate, T0.RlsDate, T0.CloseDate, T0.Series, NNM1_1.SeriesName, T5.ItmsGrpCod,

                      T0.PlannedQty, dbo.ITM1.ItemCode, dbo.ITM1.Price

ORDER BY Series

 

 

 

y este es mi query en sap

 

declare @serie char(20) /*Fecha*/

declare @fechaa datetime /*Nombre de Serie*/

declare @fechab datetime /*Fecha*/

 

 

SELECT @serie =T0.SeriesName

FROM [dbo].[NNM1] T0

WHERE T0.SeriesName = '[%0]'

 

 

SElect @fechaa=T2.refdate

FROM [dbo].[JDT1] T2

WHERE T2.refdate= '[%1]'

 

 

SElect @fechab=T3.refdate

FROM [dbo].[JDT1] T3

WHERE T3.refdate= '[%2]'

 

 

 

 

SELECT   Series, SeriesName, planificado, Fcreacion, Fliberacion, Orden, grupo, Codigo, Descripcion, AVG(PrecioVenta) AS PrecioVenta, Termino, SUM(Kilos)

                      AS Kilos, SUM(Material) AS Material, SUM(ManodeObra) AS ManodeObra, SUM(Gif) AS Gif, SUM(Prest) AS Prest, SUM(Coef) AS Coef,

                      SUM(DISTINCT consumo) AS consumo, SUM(Kilos) + SUM(Material) + SUM(ManodeObra) + SUM(Gif) + SUM(Prest) + SUM(Coef)

                      AS CostocomponenteReal, SUM(costoproductoreal) AS costoproductoreal, SUM(costoproductoreal) - (SUM(Kilos) + SUM(Material) + SUM(ManodeObra)

                      + SUM(Gif) + SUM(Prest) + SUM(Coef)) AS Variacion

FROM        dbo.ordenes_proceso T1

GROUP BY  Series, SeriesName, planificado, Fcreacion, Fliberacion, Orden, grupo, Codigo, Descripcion, Termino

HAVING     T1.seriesname=@serie and T1.fliberacion between @fechaa and @fechab

 

 

lo que quiero es sacar el reporte pero a una fecha de corte porque aqui si la orden se inicio el 01/01/2014 me saca hasta la fecha yo quero sacarlo por ejemplo del 01/01/2014 al 31/01/2014 a si por rango de fechas no lo logro sacarlo alguien tendra una idea mejor.

 

Gracias agradecere sus aportes


Viewing all articles
Browse latest Browse all 8720

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>