Hola amigos una molestia tengo que bloquear un campo de usuario que cuando el campo este vació o tenga el valor 5 no se pueda crear el documento pero he realizado de varias formas y no he logrado hacer que me bloquee la creación del documento, cuando realizo la prueba me bloquea cualquier valor, adjunto el código que he creado para que me indiquen cual es mi error
IF @object_type = '24' AND @transaction_type IN ('A')
BEGIN
IF EXISTS (SELECT COUNT(1) FROM RCT2 WHERE DocEntry = @list_of_cols_val_tab_del AND ISNULL(U_tcobro,'')='' )
BEGIN
SET @error = 70011
SET @error_message = 'Favor de colocar el tipo de cobro correcto'
END
END
este es otro que probé pero no me funciono tampoco
IF @object_type = '24' AND @transaction_type IN ('A')
DECLARE @TCOBRO NVARCHAR(2)
BEGIN
SET @TCOBRO = (SELECT COUNT(1) FROM RCT2 WHERE DocEntry = @list_of_cols_val_tab_del AND ISNULL(U_tcobro,'')='' AND U_tcobro = 5 )
IF @TCOBRO = 1
BEGIN
SET @error = 70011
SET @error_message = 'Favor de colocar el tipo de cobro correcto'
END
END
Prueba con el siguiente query, que lamentablemente no tengo un ambiente con que probarlo ya que yo uso HANA, pero te corregí un par de cosas que creo que te van a dejar mas orientado:
IF @object_type = '24' AND @transaction_type IN ('A') THEN DocEntry = @list_of_cols_val_tab_del
DECLARE @TCOBRO INT
BEGIN
SET @TCOBRO = (SELECT COUNT(*) FROM RCT2 WHERE U_tcobro = '' OR U_tcobro IS NULL OR U_tcobro = '5')
IF @TCOBRO > 0
BEGIN
SET @error = 70011
SET @error_message = 'Favor de colocar el tipo de cobro correcto'
END
END
Hola @Sergio3098 te agradezco el tiempo y tu ayuda, te comento que si me bloquea cuando el campo esta vacío o tiene el tipo de cobro 5 mas cuando lo cambio a 1 me sigue realizando el bloqueo para crear el pago recibido.
Hola creo que les falto agregar, que valide el documento que tienes y no todos los documentos que hay para ello.
IF @object_type = '24' AND @transaction_type IN ('A') THEN DocEntry = @list_of_cols_val_tab_del
DECLARE @TCOBRO INT
BEGIN
SET @TCOBRO = (SELECT COUNT(*) FROM RCT2 WHERE U_tcobro = '' OR U_tcobro IS NULL OR U_tcobro = '5' and DocEntry = @list_of_cols_val_tab_del)
IF @TCOBRO > 0
BEGIN
SET @error = 70011
SET @error_message = 'Favor de colocar el tipo de cobro correcto'
END