cancel
Showing results for 
Search instead for 
Did you mean: 

Impedir entrada de mercancia con precio 0

Former Member
0 Kudos

Hola a todos, tengo la necesidad de impedir las entradas de mercancia desde el modulo de inventarios de articulos que tengan precio 0, esto debido a que si asi se hacen la entrada el costo del articulo no se actualiza de manera correcta. Es posible hacer esto en SAP ??

Gracias.

Accepted Solutions (1)

Accepted Solutions (1)

former_member188440
Active Contributor
0 Kudos

Hola, puedes hacer esto por medio del transaction Notification, has trabajado con el?

Necesitas ayuda con el query?

Es bastante sencillo

Former Member
0 Kudos

Hola Mauricio, no no he trabajado con el, me podrias ayudar en mas o menos como va el query ??? de hecho ya tengo el query que me trae los documentos que tienen precio cero, pero de ahi no se como decirle que bloquee la entrada, mira esto es lo que tengo hasta ahora :

SELECT T0.[Price], T0.[DocEntry] FROM IGN1 T0

WHERE T0.[Price] = '0'

Saludos.

former_member188440
Active Contributor
0 Kudos

Ok el transaction notification es un stored que viene dentro de la base de tu compañia, este al modificarlo, te permite ingresar codigo que te sirve para este tipo de validaciones pues "atrapa" el objeto que estas trabajando, en este caso el numero 59 que corresponde a entradas de inventario.

este codigo te puede servir



IF @transaction_type in ('A') AND @object_type IN ('59')
begin
declare @cuenta as int
set @cuenta=(select count (*) from oitw where itemcode in (select itemcode from ign1 where docentry=@list_of_cols_val_tab_del)
		and whscode in (select top 1 warehousecode from ign1 where docentry=@list_of_cols_val_tab_del)	)
if @cuenta>0

begin 

set @error=1
set @error_message='No se pueden ingresar articulos sin costo'
end
end

si quieres pasame tu correo y te envío un manual q habla del transaction

Te recomiendo que lo pruebes en una base de pruebas primero

Desde MSSQL Management Studio, abre la opcion de Databases, expande tu base de datos y luego en Programacion-->Procedimientos almacenados, busca uno que se llama SBO_TransactionNotification y dale clic derecho y luego Modificar, ahi busca algo que dice -


ADD YOUR CODE HERE----

-


Debajo de esto, coloca el codigo que te pasé y haz pruebas

Espero te sirva

Former Member
0 Kudos

Hola Mauricio me salio el siguiente mensaje :

Msg 207, Level 16, State 1, Procedure SBO_SP_TransactionNotification, Line 28

Invalid column name 'warehousecode'.

una pregunta, como sabes que la entrada de mercancia es el objeto 59 ??

te paso mi correo

yalcantara arroba spheres.com.mx

former_member188440
Active Contributor
0 Kudos

cambia la palabra warehousecode por whscode, porfa

Puedes saber que numero de objeto trabajas apoyandote en la ayuda del SDK, en la pestaña Indice, escribe Boo y te aparecera algo que dice "Business Object Enumeration" ahi vienen los objetos con su numero, busca por ejemplo oInventoryGenEntry (igual que se llama el template en DTW) y veras el numero 59

En un rato te mando el Manual

Former Member
0 Kudos

Hola Mauricio, si jalo pero ahora no me deja hacer entrada de aquellos articulos a los que si les ingreso precio. Que crees que nos falte ??

saludos

former_member188440
Active Contributor
0 Kudos

Lo que pasa es que ese codigo, valida si existe por lo menos un articulo con costo cero en su almacen, osea truena todo el documento. Si es asi lo que necesitas?

Former Member
0 Kudos

Hola perdon creo que ahi fue mi error lo que necesito es que impida hacer entradas de articulos que no tengan precio, no costo.

Esta bien la logica de que truene todo el documento si una linea de articulo no tiene precio.

Gracias.

former_member188440
Active Contributor
0 Kudos

A ver intenta con este codigo


IF @transaction_type in ('A') AND @object_type IN ('59')
begin
declare @cuenta as int

set @cuenta=(select count (*) from ign1 where price<=0 and docentry=@list_of_cols_val_tab_del)

if @cuenta>0

begin 

set @error=1
set @error_message='No se pueden ingresar articulos sin precio'
end
end

Former Member
0 Kudos

Ahora si jalo, muchisisismas gracias Mauricio, oye una pregunta mas que significa @list_of_cols_val_tab_del, de donde sacas ese dato ??? ... si me puedes mandar la informacion que tengas tambien te lo agradecere mucho.

Saludos.

former_member188440
Active Contributor
0 Kudos

Hola, que bueno que funciono, esa variable que mencionas es en donde viene guardado el docentry que se pretende crear o insertar en la base de datos, en este caso en la tabla OIGN de entradas. Como el campo docentry de la tabla IGN1 (detalle de la entrada) tiene el mismo docentry que la cabecera OIGN, por eso sirve para validar el @list_of_cols_val_tab_del

0 Kudos

hello, you can give me the answer , have that's problems, my email it's osorio@textilesomnes.com

Answers (1)

Answers (1)

0 Kudos

Hola, me puedes dar la respuesta también, tengo el mismo problema gracias