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;
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.