on 11-18-2009 2:58 PM
Que tal amigos!
Aqui una consulta sobre como poder resolver lo siguiente.
Tenemos articulos que por medio de una propiedad (Qrygroup64) activada, son suceptibles de no poderse vender.
Lo que estoy tratando de hacer es que por medio del transactionNotification, cuando se este capturando un articulo que tiene dicha propiedad activa, en una orden de venta, mande el error (luego de abandonar el campo) en rojo de "Articulo bloqueado para su venta".
Es posible hacer esto? Alguna idea?
He estado tratando de usar el transaction, pero no esta funcionando , me gustaria saber si es posible replicar los errores que manda el sistema como por ejemplo cuando uno captura una cantidad de caracteres demasiado grande en un campo y en la parte de abajo manda dicho error. Se puede hacer eso?
Gracias de antemano
Hola...
Por Transaction Notification, puedes efectivamente generar estos mensajes de error, sin embargo, estos mensajes son emitidos una vez que se intenta crear, actualizar, borrar, cancelar y/o cerrar el documento (en este caso la Orden de Venta).
Saludos,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
OK Paul, si eso lo se, lo que no he podido hacer con el codigo que estoy agregando al Transaction, es que el codigo del articulo que se capturo, sea analizado, es decir, que parte del codigo del Transaction debo utilizar para esto? no he entendido bien el uso o significado del list_cols_of..... esas variables
@num_of_cols_in_key int,
@list_of_key_cols_tab_del nvarchar(255),
@list_of_cols_val_tab_del nvarchar(255
que significan y como se pueden utilizar?
Hola...
El siguiente código te permitiría mostrar un error cuando exista alguna línea en la cual el artículo, tenga asociada esta propiedad (propiedad 64)
if (@Object_type = N'17'and @transaction_type='A') OR (@Object_type = N'17'and @transaction_type='U')
begin
declare @PROP char(1)
set @PROP = (select COUNT(*)
FROM RDR1 T0 INNER JOIN ORDR T1 ON T0.DocEntry = T1.DocEntry
INNER JOIN OITM T2 ON T0.ItemCode = T2.ItemCode
WHERE T2.Qrygroup64 = 'Y' AND T1.DocEntry = @list_of_cols_val_tab_del)
IF @PROP > 0
begin
SET @error = 1
SET @error_message = 'ERROR'
END
end
Respecto de tu consulta. creo que...
@num_of_cols_in_key trae el número de columnas del documento
@list_of_key_cols_tab_del trae el nombre del campo de la base de datos, por ejemplo DocEntry
, mientras que @list_of_cols_val_tab_del trae el número de documento actual sobre el cual estás trabajando (antes que este sea grabado), para efectuar sobre el mismo la validación.
Te sugiero adicionar a la línea en la cual se pone el mensaje de error, estas sentencias, de modo que al visualizar el error en la línea roja que aparecerá en SAP, también puedas visualizar el dato que refleja cada una de ellas.
Espero te sea de ayuda
Saludos Cordiales,
User | Count |
---|---|
100 | |
11 | |
10 | |
6 | |
6 | |
5 | |
4 | |
4 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.