Transaction Factura Anticipo Proveedores

Buenas noches estimados todos , estoy realizando un transaction , el cual debe evitar crear un anticipo de proveedor si el Socio de negocio en cuestión ya tiene un anticipo abierto , es decir no tiene que tener anticipos abiertos para poder crear otro.

he estado intentando de muchas formas realizar esto y aunque el Proveedor ya no tenga anticipos abiertos el mensaje de transaction persiste , si alguien me pudiera ayudar estaría agradecido.

Declare @CodeSNAnti varchar(10)

IF @TRANSACTION_TYPE IN('A') AND @OBJECT_TYPE = '204'  
BEGIN
set @CodeSNAnti=(select Docnum from ODPO where DocNum= @LIST_OF_COLS_VAL_TAB_DEL  )
IF EXISTS(
    SELECT Docnum from odpo where DocStatus='O' and CardCode
                             = @CodeSNAnti
)

BEGIN
        SET @ERROR=204
        SET @ERROR_MESSAGE='No puede Generar Anticipos, mientras tenga otros abiertos'
        GOTO FINTN
END


END

Quedaría creo así:

Declare @ExisteAnt as Integer
Declare @SNAnt as varchar(10)
IF @transaction_type ='A' AND @object_type = '204'
BEGIN

 SET @SNAnt= (Select CardCode FROM ODPO WHERE DocEntry=  @list_of_cols_val_tab_del)
 SET @ExisteAnt= (Select Count(*) FROM ODPO WHERE CardCode=  @SNAnt AND DocStatus='O')

	IF @ExisteAnt > 1
	BEGIN
		SET @error=204
		SET @error_message='No puede Generar Anticipos, mientras tenga otros abiertos' 
	END
END


3 Me gusta

Muchas Gracias ya valide y funciono.