on 08-18-2010 3:29 AM
Un cordial saludo a todos,
Tengo una duda, estoy haciendo una restricción usando el TransactionNotification y me encuentro que si busco el valor del campo que estoy restringiendo en la tabla de la Base de Datos me devuelve el valor que esta modificandose en ese momento
por ejemplo, si estoy validando en el pedido el campo RDR1.U_prueba y quiero comparar el valor con el mismo campo RDR1.U_prueba que esta grabado en base de datos el valor que me devuelve no es el que esta guardado en la tabla sino el que se esta modificando
Cómo hago en este caso para obtener el valor RDR1.U_prueba que esta guardado en la tabla?
Hola...
En transaction notification las validaciones se realizan contra los valores que se presentan en pantalla. Se me ocurre que si quieres validar contra otro valor que esté guardado en alguna tabla, entonces debas declarar una variable y en ella dejar el valor para la comparación.
Saludos Cordiales,
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola Paul, muchas gracias por contestar
No me queda claro lo de la variable porque sigo sin encontrar el valor guardado en la tabla, por lo pronto estoy resolviendo el caso tomando el valor de la tabla que guarda el log de modificaciones del documento, en este caso el pedido, pero sera otra vez problema si necesito validar un campo de un documento que no sea de marketing.
si alguien tiene para recomendarme otra forma mas eficiente que la que actualmente estoy utilizando por favor comentelo en el foro
Muchas gracias a todos
Guarda en una variable tal como lo indica Paul, el valor que quieres comparar en las tablas ya existentes.
Por ejemplo, suponiendo que quieres comparar el numatcard del documento que estas creando pondrias algo asi
set @tuvariable= (select numatcard from ordr where docentry=@list_of_cols_val_tab_del)
if @tuvariable in (select numatcard from ordr where numatcard=@tuvariable)
set @error=1
set @errro_message='Hola'
Algo asi es como puedes hacerlo
Hola...
La lógica podría ser así...
declare @conta int
declare @var nvarchar
set @var= (select CAMPO_ESTANDAR from TABLA_ESTANDAR where docentry=@list_of_cols_val_tab_del)
set @conta = (select count(T0.U_CAMPO_USUARIO) from @TABLA_USUARIO WHERE U_CAMPO_USUARIO = @var)
if @conta > '0'
set @error=1
set @errror_message='Hola'
Espero te sea de ayuda
Saludos Cordiales,
User | Count |
---|---|
89 | |
7 | |
6 | |
3 | |
3 | |
3 | |
3 | |
3 | |
3 | |
2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.