Socio de negocio sin dirección

Buenas,
Revisando el modulo socios de negocio se suponía que en SAP se realizo una Transaction Notification la cual no permite guardar a un socio de negocio si es que no ingresa los campos de direcciones, pero probando si permitió que se guarde sin ninguna dirección adjunto el query que se utiliza para validar esa accion, Revisando ese query me di cuenta que cuando se crea a un cliente no se relaciona inmediatamente por eso no esta validando correctamente su ayuda por favor comparto el query que tengo:

IF :object_type =‘2’ AND (:transaction_type = ‘A’ or :transaction_type = ‘U’ )
THEN
DECLARE VAR1 INT;

 (

select COUNT(*)

    into VAR1
	
	FROM OCRD T0
	INNER JOIN CRD1 T1 ON T0."CardCode" = T1."CardCode"
	
	WHERE 		
	T0."CardCode"= :list_of_cols_val_tab_del AND T0."CardType" in('S','C')
	AND LEFT(T0."CardCode",2) IN ('PL','CL')
	AND
	(
	
	T1."City" IS NULL  OR
	T1."ZipCode"  IS NULL  OR
	T1."County"  IS NULL  
	
	)
);
	
	IF VAR1 > 0
	
	THEN 
	error := -76;
	error_message := 'SP: Obligatorios Direcciones, Parroquia, Cantón, Provincia';
END IF;

END IF;

hola estimado @FernandoD veo en tu consulta, que el error esta en el concepto, ya que estas colocando en tu IF, lo siguiente:
IF VAR1 >0
Esto solo sera VERDADERO cuando el INNER JOIN entre la tabla OCRD y la CRD1 te devuelvan un valor >0 y eso se realizara únicamente cuando en la tabla CRD1 haya informacion. Por tal razon como Nunca tu validacion entra al IF, nunca se cumple y como nunca se cumple, deja grabar el Socio de negocios.

Lo que te sugiero es que inicializes la variable VAR1 con un valor por ej. -1000, y entonces al final ya comparas que si tu variable VAR1 tiene el mismo valor que con el que la inicializaste significa que NO encontro ningun valor entre la tabla OCRD y la CRD1 y retornas el error, y NO dejas grabar el SN.
Tambien deberias de cambiar la parte de

en lugar de OR, deberia tener un AND, ya que los 3 campos SON obligatorios, o al menos asi comprendo que deseas validar esto.

Si esta respuesta resolvio tu duda, favor de marcar como resuelto. Si te ayudo en algo favor de darle LIKE. Espero haberte ayudado. Saludos.

1 me gusta

Magnífica respuestas @saufondez . ¡Enhorabuena!.

1 me gusta

Este tema se cerró automáticamente 30 días después de la última publicación. No se permiten nuevas respuestas.