cancel
Showing results for 
Search instead for 
Did you mean: 

Bloqueo para Lotes Repetidos

Former Member
0 Kudos

Que tal, espero que me puedan ayudar con este tema, resulta que mi cliente necesita que SAP Business One, no permita hacer entradas de mercancia a Lotes previamente creados. es decir que los lotes sean Unicos, ahora bien para esto estoy utilizando El transaction notification, pero algo va mal y no se que es. este es mi codigo

IF @transaction_type in ('A') AND @object_type='59'

BEGIN

DECLARE @LOTE CHAR (20)

DECLARE BIC SCROLL CURSOR FOR

SELECT T0.[BatchNum] FROM [dbo].[IBT1] T0

INNER JOIN IGN1 T1 ON T0.[BaseEntry] = T1.[DocEntry]

WHERE T0.[BaseType] = 59

AND T1.[DocEntry] = @list_of_cols_val_tab_del

AND T0.[BaseEntry] = @list_of_cols_val_tab_del

OPEN BIC

FETCH FIRST FROM BIC INTO @LOTE

WHILE @@FETCH_STATUS = 0

BEGIN

IF @test IN (SELECT T4.[BATCHNUM] FROM IBT1 T4 where t4.basetype =59 and t4.batchnum = @LOTE)

SET @error = 9

SET @error_message = 'FOLIOS REPETIDOS'

FETCH NEXT FROM BIC

INTO @TEST

end

CLOSE BIC

DEALLOCATE BIC

END

Alguien tiene alguna otra idea?

les agradesco de antemano.

Saludos.

Accepted Solutions (1)

Accepted Solutions (1)

former_member210784
Active Contributor
0 Kudos

Hola.

Creo que es un tema de ciudado, hay que contemplar todos los casos porque si se realiza este control de no permitir que se "reutilice" un lote ya esxistente para las nevas entradas de mercancía, no permitiría las entradas parciales de una misma orden de compra/producción en un mismo lote.

Por ejemplo:

Se tiene una orden de compra por 50 unidades de un artículo X.

Llega una entrega del proveedor con 20 und. Al hacer la entrada se ingresan a un Lote N (nuevo).

Llegan al día siguiente 10 und. más del pedido. Al realizar la entrada ¿a qué lote debe entrar, al N o a otro nuevo diferente?.

Saludos.

Former Member
0 Kudos

Hola Hector, antes que nada gracias por tu respuesta, respecto alo que comentas, mi cliente tiene una empresa de logistica, y por cada lote se calculan dependiendo de la cantidad de articulos y algunos otros parametros que se configuran enla ENTRADA DE MERCANCÍA, calcula un costo de Flete, recolección y Entrega, el error que estaba sucediendo antes es que no se daban cuenta que ya habian introducido un Lote, y lo repetian, lo cual causa que los calculos de flete recoleccion y Entrega esten mal, para ello se tomo la decisión de que los Lotes sean unicos.

Saludos.

former_member210784
Active Contributor
0 Kudos

Hola.

Cuando están haciendo la estrada mercancía OP, en el momento de colocar el lote aparece un cuadro de diálogo que avisa que el lote ya existe y que si se desea continuar. Esta es la primera linea de control, por parte del usuario.

Por otra parte estuve revisando en el foro de expertos y encontré esto:

- .

- .

Intente con este otro código:


--**************************************************************
/*	Validación para no ingresar mercancía a un lote existente en entrada de mercancía OP
*/
declare @item nvarchar(20)
declare @batch nvarchar(32)
declare @whs nvarchar(8)
declare @count int
set @count = 0

IF @transaction_type IN ('A','U') AND (@object_type = '106' )
BEGIN
set @item = LEFT( @list_of_cols_val_tab_del, CHARINDEX(CHAR(9),  @list_of_cols_val_tab_del,1) - 1)
set @batch = substring(@list_of_cols_val_tab_del, len(@item)+1, (CHARINDEX(CHAR(9), 
      @list_of_cols_val_tab_del,len(@item)+2)) - (len(@item)+1))
set @count = (select count(*) from oibt where quantity > 0 and 
      batchnum = ltrim(rtrim(replace(@batch,char(9),''))))
if @count > 1 
begin
set @error = 1
set @error_message = 'El lote ''' + @batch + ''' ya existe para el articulo ' + @item  
select @error, @error_message
END
END
--**************************************************************

Lo probé y funciona bien.

Saludos.

Former Member
0 Kudos

Ya lo probe y funciona correctamente.

Gracias!!!

y Feliz Navidad.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hector buenas tardes:

Me están solicitando que no sea un mensaje de advertencia de que el lote ya existe cuando se intenta crear un orden de producción (tx COR1) sino que no lo permita.

Es posible realizar esto y que implicaciones tendría?

Saludos

Jose Alejandro Llorente

former_member210784
Active Contributor
0 Kudos

Hola José.

Si, aunque en tu caso es para R3, si debe poderse realizar en caso extremo con un store procedure o un TN si no existiera la parametrización para esto.

De pronto Osvaldo Lopez te pueda ayudar mejor. Crea tu post en el foro Comunidad SAP en Español (Spanish Language Community), este es para Business One.

Saludos coridales.

waldo
Contributor
0 Kudos

Gracias Hector, ahí Jose abrió el tema donde correspondía (ver tema) y ya lo estamos analizando

Abrazo

Former Member
0 Kudos

Hola Hector:

Mil gracias.

Saludos