cancel
Showing results for 
Search instead for 
Did you mean: 

Ayuda con Validacion en Transaction

Former Member
0 Kudos

Buen dia, les platico mi problema

necesito realizar una validacion a la hora de generar documentos, desde una oferta hasta la factura donde valide la serie del mismo con el almacen de los articulos. tengo uan tabla de usuario que me ayuda a a relizar la validacion con una busqueda formateada, pues cuando el usuario selecciona su serie y agrega articulos, el almacen es seleccionado segun su serie.

el problema viene cuando el usuario cambia manualmente el almacen y genera problemas, por lo que necesito un codigo en el transaction que me valide lo anterior, ya tengo el codigo y lo mejor es que funciona, jeje el problema viene que solo me funciona con una linea, si el documento tiene mas lineas me arroja el siguiente error:

[Microsoft][SQL Native Client][SQL Server]Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression. (CINF)

pero si el documento solo contiene una linea de articulos, cuando debe marcar el error que yo necesito, se genera bien y a su vez cuando esta correcto genera el documento.

aqui mi codigo, segun yo esa forma me srive pero necesito que funcione con todas la lineas, gracias!

IF (@Object_type = N'15'and @transaction_type='A')

BEGIN

DECLARE @almacen_entregas as varchar

DECLARE @serie_entregas as varchar

SET @almacen_entregas = (SELECT T3.U_Sucursal

FROM

ODLN T0

INNER JOIN DLN1 T1 ON T0.DocEntry = T1.DocEntry

INNER JOIN NNM1 T2 ON T0.Series = T2.Series

INNER JOIN [@ALMACEN_SUC] T3 ON T1.WhsCode = T3.Code

WHERE T1.docentry = @list_of_cols_val_tab_del)

SET @serie_entregas = (SELECT T6.SeriesName

FROM

ODLN T4

INNER JOIN DLN1 T5 ON T4.DocEntry = T5.DocEntry

INNER JOIN NNM1 T6 ON T4.Series = T6.Series

INNER JOIN [@ALMACEN_SUC] T7 ON T5.WhsCode = T7.Code

WHERE T5.docentry = @list_of_cols_val_tab_del)

IF @almacen_entregas != @serie_entregas

BEGIN

SET @error = 2

SET @error_message = ('La Entrega Contiene Error en Serie y Almacen')

END

END

Edited by: Oscar Loya on May 31, 2010 7:54 PM

Accepted Solutions (1)

Accepted Solutions (1)

former_member188440
Active Contributor
0 Kudos

ya intentaste metiendo un select top 1 cuando asignas el valor en

set almacen_entregas ????

Former Member
0 Kudos

Muchas Gracias!

me funciono bien.. como no se me ocurrio..

gracias de nuevo!

Answers (0)