Cordial saludo
Debo hacer un TN para que no se dejen vacios algunos campos en la creación de socios de negocio, tengo el siguiente código pero siempre me deja crear o actualizar el tercero aun cuando el campo esta vacío.
Ya hice la prueba con:
T0."Phone1" IS NULL -- el campo es null
T0."Phone1" = '' -- el campo esta vacio
LENGTH(T0."Phone1") IS NULL -- el conteo del campo es menor a cero o es vacio
Pero nada me funciona, espero me puedan colaborar.
CNT:= 0;
IF object_type = '2' AND (:transaction_type='A' OR :transaction_type='U') THEN
SELECT COUNT(*) INTO CNT
FROM OCRD T0
WHERE T0."CardCode" = :list_of_cols_val_tab_del AND
(LENGTH(T0."Phone1") IS NULL)
;
IF :CNT > 1 THEN
error := 2;
error_message := '**** AMS - 009 Pestaña general: Los campos: Teléfono 1, Teléfono Móvil y Correo electrónico no pueden estar vacíos';
END IF;
END IF;
CNT:= 0;
IF object_type = '2' AND (:transaction_type='A' OR :transaction_type='U') THEN
SELECT COUNT(*) INTO CNT
FROM OCRD T0
WHERE T0."CardCode" = :list_of_cols_val_tab_del AND
IFNULL(T0."Phone1",0) = 0
;
IF :CNT > 1 THEN
error := 2;
error_message := '**** AMS - 009 Pestaña general: Los campos: Teléfono 1, Teléfono Móvil y Correo electrónico no pueden estar vacíos';
END IF;
END IF;
La he hecho así y ahora el problema es que cuando ingreso datos no toma en cuenta el valor ingresado y siempre lo toma como campo null
CNT:= 0;
IF object_type = '2' AND (:transaction_type='A' OR :transaction_type='U') THEN
SELECT IFNULL(T0."Phone1",2) INTO CNT
FROM OCRD T0
WHERE T0."CardCode" = :list_of_cols_val_tab_del ;
IF :CNT > 1 THEN
error := 2;
error_message := '**** AMS - 009 Pestaña general: Los campos: Teléfono 1, Teléfono Móvil y Correo electrónico no pueden estar vacíos';
END IF;
END IF;
Hola @camilog, a mi me funcionó con lo que te sugerí, te lo envío completo para que lo pruebes:
IF object_type = '2' AND (:transaction_type='A' OR :transaction_type='U') THEN
DECLARE var1 nvarchar(20);
SELECT IFNULL(T0."Phone1",'XX') INTO var1
FROM OCRD T0
WHERE T0."CardCode" = :list_of_cols_val_tab_del ;
IF :var1 ='XX' THEN
error := 2;
error_message := '**** AMS - 009 Pestaña general: Los campos: Teléfono 1, Teléfono Móvil y Correo electrónico no pueden estar vacíos';
END IF;
END IF;
Jaja @juliancab gracias
Si le hice el cambio al primer código y funcionó correctamente, todos pasamos por encima de ese pequeño detalle pero tan importante jajaja