on 10-03-2012 7:08 PM
Hola a todos
Alguien me puede ayudar, requiero un query o una validación para Producción con lo siguiente:
Que valide que no pueda hacer Recibo de Producción si previamente no se ha entregado o no se ha efectuado la emisión para producción
Se que se puede hacer en el transaction notification sin embargo no sé como hacer la validación
Agradezco de antemano su ayuda
Saludos
Más vale tarde que nunca, aquí te dejo unas líneas de código que uso para bloquear la declaración de producción a menos que se haya realizado alguna entrega de componentes.
Esto verifica que se haya entregado al menos algo de todos los componentes:
-- BLOQUEA DECLARACIONES DE PRODUCCION SI NO HA ENTREGADO POR LO MENOS ALGO DE TODOS LOS COMPONENTES
IF @transaction_type = 'A' AND @Object_type = '59'
BEGIN
IF EXISTS (SELECT T0.DOCENTRY FROM dbo.IGN1 T0 WHERE T0.DOCENTRY = @list_of_cols_val_tab_del)
BEGIN
DECLARE @entry INT
SELECT @entry = T0.BASEENTRY FROM dbo.IGN1 T0 WHERE T0.DOCENTRY = @list_of_cols_val_tab_del
IF EXISTS ( SELECT T1.ITEMCODE, T1.PLANNEDQTY PLANIF, sum(ISNULL(T2.QUANTITY,0)) ENTREGADO, T2.BASEENTRY AS 'DOC BASE'
FROM dbo.OWOR T0
INNER JOIN dbo.WOR1 T1 ON T0.DOCENTRY = T1.DOCENTRY
LEFT OUTER JOIN dbo.IGE1 T2 ON T2.BASEENTRY = T0.DOCENTRY AND T1.ITEMCODE = T2.ITEMCODE
WHERE T0.DOCENTRY=@entry and T1.ITEMCODE NOT IN ('S00001','S00002','S00003','S00004','S00005','S00006','S00007','S00008','S00009','S00010','S00011','S00012')
group by t1.itemcode,t1.plannedqty,t2.baseentry
HAVING sum(ISNULL(T2.QUANTITY,0))<=0)
BEGIN
SELECT @Error = 1, @error_message = 'Existen componentes no entregados'
END
END
ELSE
BEGIN
SELECT @Error = 1, @error_message = 'Existen Componentes no entregados'
END
END
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Rodrigo
Intenta con esto y nos cuentas
Saludos
No permitir que pueda cerrarse una Orden de Fabricación que no tenga asociados los procesos de Entrega de Componentes y Recibo de Producción.
IIF (@object_type ='202' and @transaction_type = 'U')
–-- Objeto 202 corresponde a la orden de Fabricación, U (Update), corresponde al proceso de actualización de la misma)
BEGIN
IF (SELECT Status FROM OWOR WHERE DocEntry = @list_of_cols_val_tab_del) = 'L'
--- Si el estado del documento es Cerrado
BEGIN
IF (((SELECT sum(PlannedQty-CmpltQty) FROM OWOR WHERE DocEntry = @list_of_cols_val_tab_del) > '0') or
((SELECT SUM(T0.PlannedQty-T0.IssuedQty) FROM WOR1 T0 INNER JOIN OWOR T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.DocEntry = @list_of_cols_val_tab_del) > '0'))
--- Si la Cantidad (planificada-Completada) (CABCECRA) es igual a cero, o si la diferencia entre planficado y entregado es mayor a 0
BEGIN
SET @error=1
SET @error_message = 'La orden no se puede cerrar. Verifique Artículos para producción y/o Recibo de producción'
--- Muestre el mensaje indicando que falta algún paso de los señalados
END
END
END
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Marco Muchas Gracias
Le hice un pequño Ajuste con eso ya no me deja cerrar la OF
Dejo el script como me funciono
-- ADD YOUR CODE HERE
IF
(@object_type ='202' and @transaction_type = 'U')
-- Objeto 202 corresponde a la orden de Fabricacin, U (Update), corresponde al proceso de actualizacin de la misma)
BEGIN
IF (SELECT Status FROM OWOR WHERE DocEntry = @list_of_cols_val_tab_del) = 'L'
--- Si el estado del documento es Cerrado
BEGIN
IF (((SELECT sum(PlannedQty-CmpltQty) FROM OWOR WHERE DocEntry = @list_of_cols_val_tab_del) > 0) or
((
SELECT SUM(T0.PlannedQty-T0.IssuedQty) FROM WOR1 T0 INNER JOIN OWOR T1 ON T0.DocEntry = T1.DocEntry
WHERE
T0.DocEntry = @list_of_cols_val_tab_del) > 0))
--- Si la Cantidad (planificada-Completada) (CABCECRA) es igual a cero, o si la diferencia entre planficado y entregado es mayor a 0
BEGIN
SET
@error=1
SET
@error_message = 'La orden no se puede cerrar. Verifique Artculos para produccin y/o Recibo de produccin'
--- Muestre el mensaje indicando que falta algn paso de los sealados
END
END
END
User | Count |
---|---|
107 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.