Validar Ordenes de Fabricacion


#1

Estimad@s de nuevo solicito apoyo , quiero realizar una validacion para que no permita duplicidad de ordenes de trabajdo,

Mi idea es validar el código del articulo (PT000001) , el status de orden de fabricación y Fecha de producción.

Pero no encuentro la lógica de como indicarle al TN, que si encuentra una orden en status planificado, siendo el mismo Código (PT000001) y fecha del dia no lo deje pasar.

Agradezco el apoyo.

Slds.


#2

Buenas @fyelmo,

Al transaction notification le indicas si es de tipo A y de objeto 68. Haces una sentencia select a la tabla owor con el docentry de la variable.

Ejemplo, sin poder probarlo:

IF @transaction_type in ('A') AND @object_type IN ('68')
begin
declare @stock as int
set @stock=(select count (*) from owor where itemcode in (select itemcode from owor where docentry=@list_of_cols_val_tab_del) and status='P')
if @stock >=1
begin
SET @error = 66
 SET @error_message ='No es posible crear la orden de trabajo ya planificada!'
end
end

Un saludo


#3

Gracias Charlei117

Aplique la consulta, pero me sale la validacion en toda orden de fabricacion a crear,

esta es la consulta que aplique

IF @transaction_type in ('A') AND @object_type IN ('202')
begin
declare @stock as int
set @stock=(select count (*) from owor where itemcode in (select itemcode from owor where docentry=@list_of_cols_val_tab_del) and status='P')
if @stock >=1
begin
SET @error = 66
 SET @error_message ='No es posible crear la orden de trabajo ya planificada!'
end
end

solo deberia ser si ya existe la orden.

Slds.


#4

Buenas @fyelmo,

Vi el error rapidamente, siempre va a dar si, porque siempre da 1, que es la que estas creando en ese instante.

Prueba poniendo @stock>=2 o en el where añadiendo and status=‘P’ and docentry< @list_of_cols_val_tab_del.

Un saludo


#5

Carlei117, excelente tu post me a ayudado grande mente.

caso esta resuelto, coloque la condicion @stock>=2 , esta perfecto.

Se los comparto , para que pueda ayudar caso similar

IF @transaction_type in ('A') AND @object_type IN ('202')
begin
declare @stock as int
set @stock=(select count (*) from owor where itemcode in (select itemcode from owor where docentry=@list_of_cols_val_tab_del) and status='P')
if @stock >=2
begin

set @error = 10002
	set @error_message ='Orden de Frabricacion ya fue Creada , Verifique Lista de partidas Abiertas!!!!'
end
end

#6

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.