on 08-19-2011 6:18 PM
Hola buen dia, por Proceso de la empresa actualmente se pretende utilizar el Modulo de Oportunidades de Venta para una función especifica la cual contempla el que solo se pueda Introducir el cliente 1 sola vez. quise hacer esto a traves del SP TN, pero no lo he logrado alguno de ustedes me podria echar una mano, el query que estoy utilizando actualmente es este:
if @object_type = '97' and @transaction_type IN ('A')
BEGIN
declare @socio int
--declare @cuentasocio char (10)
SELECT @socio = count(t0.cardcode) FROM Oopr T0 inner join OCRD T1 on t0.cardcode = T1.Cardcode WHERE T0.opprid = @list_of_cols_val_tab_del
--SELECT @cuentasocio = count(t0.cardcode) FROM Oopr T0 WHERE @socio = t0.cardcode
IF @socio >= 1
BEGIN
select @error = '1'
select @error_message = 'Ya existe Oportunidad registada con cliente Actual'
END
END
Si lo pongo asi no me permite generar ninguno si le quito el "=" me deja crear todas la oportunidades con el mismo codigo del cliente, segun yo tendria que hacer una comparación con lo que esta actualmente en la tabla OOPR con lo que estoy tratando de dar de alta pero no se como hacerlo por codigo.
Si alguien tiene alguan idea se los agradecería muchisimo..
Saludos
Intenta con
if @object_type = '97' and @transaction_type IN ('A')
BEGIN
declare @cuenta as int
declare @socio as navarchar(8)
set @socio =(select cardcode from oopr where docentry=@list_of_cols_val_tab_del)
set @cuenta=(select count(*) from oopr where cardcode=@socio)
if @cuenta !=0
begin
set @error=1
set @error_message='Error'
end
END
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Mauricio he echo la prueba con el codigo que me anexaste pero me sigue dejando crear oportunidades aunque ya exista una con cliente registrado, es decir no detiene el proceso.
si cambio el docentry por el opprid en el where me marca error con cualquier cliente que agregue aunque no este aun registrado en la tabla de OOPR.
En el query que pongo de ejemplo le asigne valores a la variable @lists_of_col_val y si me hace la cuenta pero pues no se si solo este tomando los valores de la pantalla y no desde la tabla de Oportunidades.
No se si se les ocurra alguna otra forma de hacer esta validación..
De antemano Gracias
A ver asi
if @object_type = '97' and @transaction_type IN ('A')
BEGIN
declare @cuenta as int
declare @socio as nvarchar(5)
select @socio =cardcode from oopr where OpprId=@list_of_cols_val_tab_del
select @cuenta=count(CardCode) from oopr where cardcode=@socio
if @cuenta >1
begin
set @error=1
set @error_message='Error '
end
END
HOLA
Prueba este codigo
if @transaction_type in ('A') and @object_type = 97
begin
declare @SN as Nvarchar(8)
set @SN = (select CardCode from OOPR where OpprId = @list_of_cols_val_tab_del)
IF Exists (SELECT COUNT(CardCode) FROM OOPR WHERE Cardcode = @SN HAVING COUNT(cardcode) > '1')
begin
set @error =-1000
set @error_message ='Ya existe Oportunidad registada con cliente Actual'
end
end
Saludos
Edited by: Floyola on Aug 19, 2011 5:03 PM
User | Count |
---|---|
104 | |
12 | |
11 | |
6 | |
6 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.